knrt.net
当前位置:首页 >> 指针数组指向下一个数 >>

指针数组指向下一个数

选C. p=a. 那么不管是p+1还是a+1都是a[1]地址. D中 ++p, 先自加 再取值, 所以值也是a+1的值. 只有C, a是数组名,不可以自加. 这个表达式本身非法.

举例如下—— #include "stdio.h"int main(int argc,char *argv[]){ int a[5]={1,2,3,4,5},b[4]={10,20,30,40},*p[2]={a,b},i;for(i=0;i

比如指向整形数组的指针可以这样声明int (*p)[10]; int matrix[3][10] = {......}; int (*p)[10] = matrix; 这样,p就指向matrix数组的第一行,执行p++的话,p就指向matrix的第二行了。 或者 char a[10] = "ie8c9d"; char (*p)[10] = a; 这样,p...

1. 数组实质上是指向一段连续内存区域起始地址的指针,所以int[10]可以复制给int*,这样只会造成数组退化(编译时长度信息丢失)。 2. *p = a永远不会错,因为你只是将a的值赋给了p所指向的内存区域,这句在编译时永不会报错。 3. (*p + 10)和(*...

要点:理解数组名其实就是一把指针!它指向所有元素的第一个inta[10];则它的内存分布:a[0]a[1]a[2]a[3]a[4]a[5]a[6]a[7]a[8]a[9]数组名a就是指向了第一个元素a[0]的地址(注意是地址)所以上面的也可表示为:*(a+0)*(a+1)*(a+2)*(a+3)*(a+4)*(a...

如果 int *p = a; 那么 p[3] 就是 a[3]

char str[100]; char *pi=str; //相当于char *pi ;pi=str; char **ppi=*pi;//这个地方抄错了。应为char **ppi=π 定义加*表明这是指针类型的变量 用的时候,就是用的指针,加*干什么。 只有取指针所指变量的值,或给指针所指的变量赋值的等涉...

数组指针(也称行指针) 定义 int (*p)[n]; ()优先级高,首先说明p是一个指针,指向一个整型的一维数组,这个一维数组的长度是n,也可以说是p的步长。也就是说执行p+1时,p要跨过n个整型数据的长度。 如要将二维数组赋给一指针,应这样赋值: in...

数组指针(也称行指针) 定义 int (*p)[n]; ()优先级高,首先说明p是一个指针,指向一个整型的一维数组,这个一维数组的长度是n,也可以说是p的步长。也就是说执行p+1时,p要跨过n个整型数据的长度。 如要将二维数组赋给一指针,应这样赋值: in...

楼上都回答得这么复杂吗?我写简单一点的 struct str{ int n; int s; }; void main() {struct str a[2]={1,2,3,4};//声明一个结构数组并对数组a[0]中的成员n和s 分别赋值为1和2,对a[1]中的成员设置为3和4。 注:有些编译器可能不需要最前面的...

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