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 ...

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

p=&a容易理解,就是把变量a的地址存在指针p。*p=&a是把变量a的地址存放在指针p所指向的内存单元

1.一般来说*p=&a的表示方法是错的,*p=a和p=&a是正确的。 2.*p=a的意思:将a的值赋给p指针指向的地址的值; 3.p=&a的意思是:将a的地址赋给指针p; 4.区别:*p是一个值;p是一个地址;两者完全不相同。 5.*代表着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一样。 ...

n是整数,p是整数指针,q是双重指针。 A:p=1 属于将地址1赋给p,非法。 B:*q=2 这里*q相当于一个整数指针,问题同上,非法。 C:q=p 相当于把p的地址赋给q,不能说错,但是不同维数的指针互相赋值,容易出错。 以上三种都是编译没有问题。 D比...

int x = 3; /* 定义整型变量x,并代入初始值3 */int *p = &x; /* 定义整型指针p,并代入变量x的地址 */int **q = &p; /* 定义整型指针的指针q,并带入指针p的地址 */在C语言中,所有的变量都是一个容器,而每个容器都有一个地址,指针变量也不例...

1、在*p=&a中,&a表示a这个变量的存放地址,然后把这个地址放到p这个变量中,所以p是一个指针变量(用*p表示),所以,打印出来的p仅仅是存放a的一个地址,而不是a变量本身。所以,A)是错误的。 2、*&a先是指向a的地址,再用指针指向这个地址,...

int a,*p=&a; 分开可以写为以下: int a; // 定义一个int 类型的变量a int * p; //定义一个int *类型的指针p p=&a; // 将指针p指向a (p现在为a的地址,p里面的内容为a) 在定义指针的时候写 int * p 表示定义一个int *类型的指针,后面的程序里出...

你好 很高兴为你解答 答案是:第1个、第3个,第4个是错的。 满意请采纳,谢谢

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