为您找到"
有定义int x=2,*p=&x;*q=p,一下赋值语句错误的是
"相关结果约100,000,000个
指针变量的运算是根据该变量所指向的数据类型进行的。例如,设有char *P; int *q;当执++p;++q。这样两个递增语句时,由于字符型数据的大小是以1个字节为单位的,因此P被递增1;而由于整型数据的大小通常是以2个字节为单位的,因此q被递增2。p=p+4; q=q+4;时,指针变量P被加上4,而...
先上结论:对于int a[5],*p;p=a; 或p=&a[0]是正确的 p=&a严格来说是错误的 首先要搞清楚a与&a的区别:a表示数组首元素的首地址,即元素a[0]的地址;&a表示整个数组的地址。二者的值是相同的,但意义并不一样。正如成都市政府与四川省政府的地址都在成都,但二者表示的含义不同。如下...
代表指针运算符和乘法运算符;&代表取地址,与运算符,引用符。用于二目运算中的按位(位运算)与运算:单目是只需要一个操作数的意思,比如:a++ a-- *a &a 双目是需要两个操作数的意思,比如:a+b a-b a*b a/b a%b 三目是需要三个操作数的意思,比如:a=c>b?c:b;例如...
int a=2,b=1,*p=&a;p=3;//因为指针指向a,所以此时相当于a=3 a=a+b;//a=3+1 所以a=4
1)int *p=a;举例:int *p=100;p是一个指针变量,将一个常量赋给一个指针变量,p等于地址0x00000064,即p是指向某个数的指针变量,该数的地址是0x00000064,一般实际中没这么用;跑下程序:2)int *p=&a;举例:int a=100; int *p=&a;a是一个变量,p就是指向a的指针变量,即p等于a的...
int s;int *p;p=&s;//这种写法是正确的,将p指向s int s;int *p=&s;//这种写法也是正确的,在对p定义时候,直接初始化,指向s int s;int *p;p=&s;//这种写法错误,p是一级指针,p没有明确指向之前就用*求值将是错误的。&s是对s求地址运算的 ...
p[0]就是*p 就是p所指向的内存中的值 &p是p这个指针本身的地址,&p的类型是int &p[0]就是p[0]的地址,也就是p (&p)[0],就是*(&p),也是p p,就是前面说的p[0]
在printf("%d,%d\n",*p,**pp)中,*p表示取p所指向的变量b的值,**pp则表示取pp所指向的p所指向的变量b的值。因此,此语句会输出两个b的值。在指针的使用中,*符号具有不同的含义。在定义指针变量时,如int **pp, *p,*表示该变量为指针类型。而在表达式中,如*p和**pp,*表示取指针所...
若有定义inta=int*p=&a;则*p的值是()A.变量p的地址 B.变量a的值 C.变量a的地址值 D.无意义 正确答案:B
二级指针存放一级指针的地址,指向一级指针。如int*p ={1,2,3}, int**pp=&p,pp=指针p的首地址,*pp=数组的首地址,**pp=数组第一个值1。指针数组的数组名传递参数对应为指针的指针即二级指针,二维数组的数组名传递参数对应为数组指针即指向一维数组的指针 一级指针通过形参,可以修改实参中...