wlbk.net
当前位置:首页 >> C语言中数组指针关于p=A,p=&A等问题!! >>

C语言中数组指针关于p=A,p=&A等问题!!

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

int a[10] ; int *p=a ; //定义一维指针p,并指向数组a首地址。 p=a+2 ; //指向数组a的第三个元素 或写成: p= &a[2] ; //通过&运算符号来取a[2]的地址,赋值给p p=&a ; //这是错误的语句!因为,&a的类型是int **, 而p是int *类型,所以,类型...

是的,可以通过数组也可以通过指针,p代表数组首地址,比如*(p+i)=a[i];或者p[i]=a[i];

p = a;或者 p = &a[0]; p = &a;是错误的

拿起你的课本 翻到指针和多维数组那一节 认真看几遍 prt是一个指向二维数组int a[4][3]的指针 和a一样 指向a[0] a[0]是a[0][0]的地址 所以p指向a[0][0] 对一个指针加一,会对原来的数值加上一个对应类型大小的数值。a和prt所指向的对象是三个int...

头指针对于链表是最重要,一个链表的所有操作都离不开头指针,你竟然说没用?增,删,改,查都离不开它。往深再学点你就理解了。

可以是可以,前提是p已指向了数组a中的某个元素,否则会有越界访问危险 例如若,p=&a[1]; 则p-a即为整数1,也就是a[p-a],等效于a[1]

假设p = a; 则*p = a[ 0 ] = 1 *p + 1 = a[ 0 ] + 1 = 2; p + 1 = &a[ 1 ] //这里的 p + 1 是指针p的指向往后挪了一位 因此 *(p + 1) = a[ 1 ] = 3

指针指代的是字节吧

首先呢,a是二维数组,不解释。 然后呢,p是一个指针,什么样的指针呢,就是指向一维数组的指针,而且这个一维数组的元素个数呢是5. 然后呢,p=a;就是把p指向a数组。 分析选项: A p+1 .因为p是一维数组指针,所以p每+1就是+1行。错误。 B *(p...

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