黑马程序员技术交流社区
标题:
指针基础
[打印本页]
作者:
Mr.Yan
时间:
2015-11-22 23:59
标题:
指针基础
若有说明:int a=2, *p=&a, *q=p;,则以下非法的赋值语句是(D )。
A. p=q; B. *p=*q; C. a=*q; D. q=a;
这一题看似简单,但其实也有值得深究的地方,觉得对指针定义不是很清楚的同学会有一些帮助:
// 首先"*",在定义和应用的时候,意义是不一样的,定义时是表示定义一个int * 类型的指针,而在非定义的时候被视为一个运算符,取相应地址内所存取的内容,明白了这一点,这一题就可以做了.
首先p表示的就是a的地址,然后定义*q=p,即可以看成是*q=&(*p) //& 和* 是可以抵消的
即是对*p取地址,而*p即是a的值,注意是值!不是地址!所以得到的就是&a.
*q=&a , *p=&a.
这样看来所有的q都可用p代替,即可确定选项
(可以理解吧?)
作者:
IPswhatb“is”
时间:
2015-11-24 00:02
确实需要细心的分析啊
作者:
fenghun1991
时间:
2015-11-24 22:37
确实需要细心的分析啊、、、
作者:
刘邓诏初
时间:
2015-11-25 01:18
不错哈。。。。。。
作者:
cube川
时间:
2015-11-25 15:12
顶一个。。
作者:
唐阿丽
时间:
2015-11-25 21:19
顶一个。。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2