右侧
当前位置:网站首页 > 资讯 > 正文

c语言p=,c语言po,y是什么意思

作者:admin 发布时间:2024-03-25 13:22 分类:资讯 浏览:11


导读:c语言,设p为一个指针,*p=x与p=&x有什么区别?1、p=&x,表示把x变量的地址存储在p中。2、前者是在定义指针时才成立,意思是定义指针p是变量x的地址。后者是程序语句...

c语言,设p为一个指针,*p=x与p=&x有什么区别?

1、p = &x,表示把x变量的地址存储在p中。

2、前者是在定义指针时才成立,意思是定义指针p是变量x的地址。后者是程序语句中的取x地址赋值给p。

3、int p;定义的时候,表示定义了一个变量p,p是int 型的(就是指向int型的指针)int p=赋值的时候,表示给变量p赋值。

4、指针可以理解为内存空间的代号,*p 为该空间中所存变量。

5、c语言的指针部分 *p与p区别如下:作用不同 p表示此指针指向的内存地址中存放的内容。p是一个指针变量的名字,表示此指针变量指向的内存地址。输出内容的格式不同 p常用在一个和指针类型一致的变量或者常量。

c语言中*P=&S与*P=S有区别吗?

p[]=*p([]),首先,它是一个数组,数组里面保存的是指针 (*p)[]则不同,首先它是一个指针,然后,它指向一个数组,但通常,再定义的时候需要指定所指向数组的大小。

int *p=&a 相当于 int *p,p=&a 它们的区别其实就是 int *p=&a是同时定义*p并对赋值p(即a的地址赋给P),而p=&a,只是对P赋值,没有定义指针变量。

也就是a=&a[0] , p这个字母一般把它定义为地址, *p就是p指向的数值的值,你却把一个值定义为一个地址(*p=a 这种写法是错误的),不符合常理。

c语言指针引用数组元素,从p=a开始解释下此程序

1、p=a; //使int*指针p指向数组a的首元素,即a[0]的地址—&a[0]。

2、C,先看p+2,代表指针p后面偏移两个整形数储存空间以后的地址,所以p+2代表的是a[0]偏移2以后(是a2)的地址,而*是取值运算,所以*(p+2)就代表了a[2]的值,所以能正确的代表元素a[2],所以C选项是正确的。

3、指针数组定义int*p[n];[]优先级高,先与p结合成为一个数组,再由int*说明这是一个整型指针数组,它有n个指针类型的数组元素。

c语言p=p1;p1=p2;p2=p这句是什么意思

1、p1里面的地址也是能放在p里面存储的(char ,short类型就不行了)。但是对于编译器来说,存放在p里面,他就认为是一个整数,所以就不能做一些指针的操作了,比如*p。但是如果只是向你这种只是简单交换一下值是没问题的。

2、这是一个内存中的值交换,{p=*p1;*p1=*p2;*p2=p;},而这是内存地址的一个交换。

3、p2=p;} 因为你的形参是*p1,*p2,传递过来的是地址。你写的,p=p1;//把p1的地址值给p p1=p2;//把p2的地址值给p1 p2=p;//把p的地址值给p2 相当于你改变了是变量的值,但是没有返回值。

标签:


关灯