为您找到"

int a=2;*p=&a,*q=p;中*q=p是什么意思啊?

"相关结果约100,000,000个

若有说明:int n=2,*p=&n,*q=p;,则以下非法的赋值语句是___。

p*n是非法的。指针(Pointer)是编程语言中的一个对象,利用地址,它的值直接指向(points to)存在电脑存储器中另一个地方的值。题目中int n=2,*p=&n,*q=p 定义整型n,p是一个指向n的指针,它的值为n的地址。q是一个指针,q的值和p的值相同,也就是它俩是同样的地址。p=q使得p的值...

若有说明:int n=2,*p=&n,*q=p;则以下非法的赋值语句是

p*n是非法的。指针(Pointer)是编程语言中的一个对象,利用地址,它的值直接指向(points to)存在电脑存储器中另一个地方的值。题目中int n=2,*p=&n,*q=p 定义整型n,p是一个指向n的指针,它的值为n的地址。q是一个指针,q的值和p的值相同,也就是它俩是同样的地址。p=q使得p的值...

...int a[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3],*q=p-2; printf("%d\...

emmm,一楼的回答是对的。楼主看一下*q=p-2,你是不是把这个条件抄错了?习题上是不是*q=p+2 ①*p=&a[3],所以*p=4(这个不解释了)②A我们明确一个概念,就是a[10]这串位置是连续的。B假设i=*p(i为p所指的单元格的值)。*p=4,即i=&a[3]=4 Cp-2即p所在的地址往前推2单元...

C语言 若有程序段int **p, *q[5]; p=q; ,则以下不正确的叙述是...

p=q就是将二级指针p指向指针数组q的首地址,即*p指向的地址就是q[0]所指向的地址。所以p指向q[0]正确(即A正确)p+3就是q[3]的地址跟A类似,只是偏移了三个内存单元(即B正确)(p+3)与*q[3]等价都是指向q[3]所指向的内存地址单元,值都是一样的(即C正确)对于D,由于定义了*q[5]...

int a[] = {1,2,3,4,5,}; int *p = a; int *q = &a[5]; printf("%d...

看看我下面的演示,你就知道那只是个巧合而已(5并不是数组里面的数字哦,两个地址差,16进制地址相减结果是0x14,换算成十进制就是20,int每个占4byte,所以20/4=5):

结构体指针中,struct stu *p,*q; 后面语句中出现 p=q;是啥意思...

p和q是两个struct stu类型的指针,单纯的传递一个地址,没什么特殊的。

...={1,2,3,4,5,6,7,8,9,10,11,12}; int *p=a+5,*q=NULL; *q=*(p...

如果去掉q,*p为6 否则整个程序会崩溃,因为q指向的地址是NULL,无法进行复制操作。

...int*p, *q; p = a; q = &a[2]; int i = q-p;为何i的结果为1而不是8...

指针的移动是以这个指针指向的变量类型的长度sizeof(type)为单位的,如果这个类型长度为4,那么指针增加1,就是向后移动4个字节。反过来计算两个指针之间距离的时候,也是以sizeof(type)为单位的。另外,你这个代码的结果,q-p应该是2,而不是1 ...

int a,*p,*q;p=q=&a;为什么不正确?

int a,*p,*q; // 定义一个 int 型变量 a, 和两个指针变量 p , qp=q=&a; // 把 a 的内存地址 赋值给 q 和 p 。意思就是 q , p分别都是指向 a

...int a[10]={0,1,2,3,4,5},*p,*q; p=a+5; q=p++; p和q所指向的数组元...

数组元素为:0 1 2 3 4 5 a可以当作是数组的指针,a所指元素是0。p=a+5,那么p所指元素是5。q=p++,p参与运算后再加1,所以q所指元素也是5。
1 2 3 4 5 6 7 8 9

相关搜索