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型指针,...

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

不正确的。 这里有一个问题。 p=a;等于是不同类型赋值了。 a等效于二维指针,更准确的说法是int (*)[m]的数组指针。 而p是int*型的一维指针。 后续的 a[0]是a[0][0]的地址这个说法完全正确。 而p是a[0]的地址, 只是值相同,类型是不同的。 准确...

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

int a 表示定义了一个变量 a int p = a 表示定义了一个变量p并给其赋初始值为a 因此int a,p=a的意思是定义一个变量a,由定义了一个变量p,并给p赋初始值为a 并不是数组 C语言中定义数组的方式为:类型 变量名[常量] 如: int arry[10];定义了一...

可以是可以,前提是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

在定义指针时,指针变量名前的*号是必须的,不能少,区别于普通变量, 说明当前变量是指针变量,而不是普通的变量。 对于你的问题,我举例说明: 情形一: int a[5]={1,2,3,4,5}; int *p=a;//这是在定义指针变量p的同时就直接给它初始化,即把数...

a声明为int a[3][N],说明a是一个二维数组,第一维是3,第二维是4(N=4), p声明为int (*p)[N],说明p是一个指向含有4个元素的一维数组的指针, 所以p是可以指向a的。 一般地,要让p指向二维数组a,是把a数组的第一个元素a[0][0]的地址赋值给它,...

指针指代的是字节吧

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