hsfl.net
当前位置:首页 >> C语言指针问题. 若有int A[]={0,1,2,3,4,5,6,7,8,... >>

C语言指针问题. 若有int A[]={0,1,2,3,4,5,6,7,8,...

A和D都是错的。 不过A应该是印刷问题。 改成a[p-a]就对了。 A p和a相等。 所以这个就是a[0] B *&抵消。 这个就是a[i] C p=a 这个也是a[i] D *(a+i)等效于a[i]. 再取值一次,类型不对。 等效于*a[i],这个是不合法的。

A. a[p-a] p=a,p-a=0,这里就是引用 a[0]B. *(&a[i]) &a[i]表示取第i+1个元素的地址, *地址,表示引用地址中的数据,这里就是引用a[i]C. p[i] p是指针,地址,可以用数组元素引用方式来引用数组元素。p[i]就是a[i]D. *(*(a+i)) a+i是第i+1个元素...

int (*ptr)[3]=a这句,将a的首地址赋值给了ptr,ptr表示的是指向一个含有三个Int的数组的指针, *((ptr+1)[2])等价于*((ptr+1)+2),等价于*(ptr+3),这表示从数组a的首地址向后移动3个单位,每个单位为一个含有3个Int的数组,所以一共向后移动了...

两个问题: 1.输入k之后 ,要重新将 p 指向 a 即10行前+一句 p = a; 2.最后一个for越界,i=9 时 p+i+1 就成了 p+10

static int a[][3] = { { 1, 2, 3 }, { 4, 9 }, { 7 } };static int *p[3] = { a[0], a[1],a[2] };int i = 0;while (i++ < 3&&i*(*(p + i)) = *(*p + i) + 3;printf("%d\n", *p[0]);printf("%d\n", *(*(p + 1)));*p->指向a[0]**p->指向a[0][0]*...

下面是我收藏的关于指针的一个非常好的文档,讲的很深入,楼主要是感兴趣的话可以研究一下,要是有不懂得地方可以随时问我。。。 第一章。指针的概念 指针是一个特殊的变量,它里面存储的数值被解释成为内存里的一个地址。 要搞清一个指针需要搞...

问题1:一维数组名与二维数组名含义是不一样的,当然跟你理解的指向行或者列是有一定的偏差的。 对于一维数组,比如int a[4],a代表的是int型的指针,其地址指向a[0],对于二维数组比如a[2][4],a代表的是也是指针,只不过不是简单的int型指针,...

设指针是p,“整型值”是n,那么p+n表示指针p的指向向后移动了n个p所指向的元素所占有的空间值,即指向向后移动了n个元素。比如:char *p="1234567890";,则p+4指向了5,若'1'的地址是2000,那么p+4就是2004;若int x[]={1,2,3,4,5,6,7,8,9,0},*p;...

第一章。指针的概念 指针是一个特殊的变量,它里面存储的数值被解释成为内存里的一个地址。要搞清一个指针需要搞清指针的四方面的内容:指针的类型,指针 所指向的类型,指针的值或者叫指针所指向的内存区,还有指针本身所占据的内存区。让我们...

C语言中指针运算与其类型有关,实例如下: 若p是int型指针, p+1的地址增量是1*sizeof(int); 若p是char型指针, p+1的地址增量是1*sizeof(char); 以此类推。。。

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