ppts.net
当前位置:首页>>关于请问&*p等于*&p?这两个怎么理解的资料>>

请问&*p等于*&p?这两个怎么理解

定义指针时用*,如char *p; 那么p就是一个指向字符型的指针; 如果*不在定义时用,那就取指针所指向内存的值,如 int a[]={1,3,5,7,9},*p; p=a; 那么*p就是1; &是取地址运算符,如&p就是取变量p的地址; 下面这个例子: #include main() { int ...

结果是9 9 11没错埃 先执行的*(--p),然后两次*p++ 至于宏定义,字符串中的内容不会被替换,想要你显示的效果,要用#ar 如图: 满意请采纳。

在C语言中指针变量也是一个变量,它存在于内存之中,跟普通的int变量没有什么区别。 但是指针变量跟int变量的访问方式有一点区别。 当你访问int变量时,是直接取变量所占内存中的值。 而当你使用*p访问指针变量时,是先取p所占内存中的值,把取...

1、*&p 等价于*(&p)。2、&*p 等价于&(*p)。 举个例子: p是int变量,那么*&p = p,而&*p是非法的。因为*p非法。 p是int *指针变量,那么*&p = p,&*p = p,都是p。 printf("%d\n",*&p)中不知道p是什么类型。 如果p是一个指针,则*&p和&*p一样。 ...

第一个是p指向的内存单元存上a的地址,第二句是p的值是a的地址

*是解引用运算符 &是取地址运算符 *p=&a这样写是不正确的(除非p是指向指针的指针),这时候*p前面要有类型符(比如int等),通常的情况是这样用的int *p=&a;这一句作用相当于int *p; p=&a; 两句,这句话的意思是定义一个int类型指针,然后用a的...

p中是a的地址,不对 *&p结果也是p,同a,所以不对

选D.A.p是一个指针,不能给它赋一个整型的值1B.*q仍然是一个指针,*q就是p.所以也不能给它赋一个整型的值.C.q=p;q是个二级指针,p是一级指针,不能把一级指针赋给二级指针.*p=5,即给n赋值为5,正确.

p是一个指针变量,p本身表示一个存储地址,而*p表示取这个地址单元中的内容。 所以,就可以这样理解: *(p+2) 表示先将地址后移两位,再取地址内容。 *p+2 表示先取当前地址内容,然后对内容加2。 一个是对地址的操作,一个是对内容的操作,完全...

网站首页 | 网站地图
All rights reserved Powered by www.ppts.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com