作者tycho (我是小善啦 -_^~)
站内C_and_CPP
标题Re: 指标(Pointer)与参考(refrence)
时间Thu Jun 28 18:25:28 2001
※ 引述《arick (arick)》之铭言:
: 请问有没有人有空可以解释一下指标与参考的用法及使用时机
: 请问以下的写法哪些有错?错在哪里?
: int ip=24;
正常的宣告
: int *p=1024;
宣告一个指向int的指标 并让他指向1024这个位址
注意 1024可不是安全的位址
: int *q1=ip;
q1这个指标指向24这个位址
如果你要指向ip 这是不正确的写法
compiler还会丢出一个warning
表示型态不符
: int *q2=&ip;
right
现在q2这个指标指向ip
: int *q3=*p;
p指向整数 "*p"是个整数
所以这样写也是不正确的
: int *q4;
: q4=*p;
错
: q4=ip;
错
: q4=&p;
错(上面的p是宣告成int*吧)
: &p=ip;
: &p=*q1;
: &p=&ip;
这些都会compiler error
因为&只是取值运算
变数的位址是不能更动的
: ip=*&p;
^^^
这个其实就是p的意思
不过ip是int p是int*
所以这样写也是错的
: 高手们可否解答以上的问题呢
: 谢谢
上面我说写得不正确
不是说一定会compiler error
而是这样的错误:
1.把指标指向一个不安全的位址
2.把位址指定给整数
3.把整数指定给位址
2和3的状况 通常compiler都会给warning
--
※ 发信站: 批踢踢实业坊(ptt.csie.ntu.edu.tw)
◆ From: 61-216-134-60.HINET-IP.hinet.ne
1F:嘘 laifei:这是连结错误... 61.64.118.10 07/09
2F:→ laifei:对不起 我弄错篇文章了 61.64.118.10 07/09