mlfk.net
当前位置:首页 >> 对于int A[ ]={1:2:3:4:5:6}:p;p=A;*(p 3)=2;则*p;... >>

对于int A[ ]={1:2:3:4:5:6}:p;p=A;*(p 3)=2;则*p;...

标题中你把原题写错了,数组元素间用逗号分隔,那来那多冒号? p = a ; //指明p指向a的首地址,a数组和p为int型,所以p偏移一个单位就是移动4个字节(一般情况下)的偏移量。 p现在指向a的首地址,所以*p的值是1,*p相当a[0]。 *(p 3)相当a[3],...

main() { int a[]={1,2,3,4,5,6}; int *p; p=a; //p指向的数组a printf("%d ",*p); //*p指的是数组a的首地址的数据就是数组的第一个元素,是1 printf("%d ",*(++p));//*(++p)是先自加再用,p指向第一个元素,自加1后就是指向第二个元素,是2 pr...

a+0指向1,a+1指向2,a+2指向3,*p=a+2;那么p指向3,p[2]就是p+2指向的数据 p+0指向3,p+1指向4,p+2指向5,所以p[2]的值是5

*(p+2)的值是4 验证代码如下: #include int main(){int a[5]={1,2,3,4,5},*p;p=a+1;printf("%d",*(p+2));return 0;}执行结果: 原理如下: a+1是数组a[1]的地址 p=a+1就是指向a[1]的地址 因此后面p+2,就是指向a[3]的地址 *(p+2)就是a[3]的值=4

输出1,6.因为本身数组名也是一种指针,其指针类型与数组类型相同。数组名指针指向的内容就是数组的第一个元素,也就是下标为0的元素。那么让一个指针等于数组名,其实就是让这个指针指向数组第一个元素也就是下标为0的元素。所以*p=a[0],*(p+3)=...

不能表示a数组元素的表达式是( B) a[10] )----因为数组a的最大下标只能是9,即a[9], a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9], 一共10个元素

int a[5]={1,2,3}数组在内存中申请了五个连续的地址,假设是五个方框吧□□□□□,依次存放了1,2,3,0,0; *p=a;定义了一个指针,指向a数组的首地址,也就是第一个方框,p+1,就是指向第二个方框。*(p+1)就是取p+1个方框内的数据,据上面分析,我们...

p是int *型指针。 所以 p+n(n为整数) p实际的地址值为((int)p)+sizeof(int)*n 这里 输出的也就是 0x194+sizeof(int)*9 注意,这里的194是16进制的。因为是0x输出。 如果是sizeof(int) =4 也就是32/64位系统,那么输出为 0x194+4*9=0x194+0x24=0x...

*p++=1;p++;*p=2 1++=2 2*(*++p)=2*3=6

按照p[0]=a[5],p[-3]=a[2];也就是a[2]=3;

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