p=&r跟*p=r有什么区别

p=&r跟*p=r有什么区别

&r是取变量r的地址,p=&r的意思是把变量r的地址赋给变量p,这种情况p一般是个指针。

*p在等号左边,表示对p指向的内存空间赋值,*p=r的意思就是把变量r的值写入p所指向的内存空间。追问

p是指针而不是*p是指针?

追答

p前面有*,肯定表示p是个指针,只有指针,才可以用*p的方式引用指针指向内存空间的内容

追问

**p呢

追答

如果p前面有两个*,表示p是保存指针地址的指针变量,简称指针的指针。

即p是个指针,p指向的内存空间的内容是个指针变量(假设给个名字叫做q)的地址,那么*p就是引用这个指针变量q的地址,**p就相当于*q,即引用q指向的内存空间的内容。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-07-02
第一个是先定义指针,在赋值;
第二个是定义指针的同时给指针变量赋值
相似回答