请教C语言指针数组问题
2.用自己的语言描述下面的语句的意思,并回答后面的问题。char*p;char(*p)[10];int(*p[10])[20];p[2]+3实际上加了多少字节。int(*...
2. 用自己的语言描述下面的语句的意思,并回答后面的问题。 char * p; char ( * p ) [10]; int ( * p [10] ) [ 20 ]; p[2] + 3 实际上加了多少字节。 int ( * p [10][20] ) [30][40] ; p[2][3] + 1 实际上加了多少字节, *p[3][4] + 4 实际上加了... 2. 用自己的语言描述下面的语句的意思,并回答后面的问题。 char * p; char ( * p ) [10]; int ( * p [10] ) [ 20 ]; p[2] + 3 实际上加了多少字节。 int ( * p [10][20] ) [30][40] ; p[2][3] + 1 实际上加了多少字节, *p[3][4] + 4 实际上加了多少字节。为什么是这样,用自己的语言描述一下。 int ** p2; char ** p2[2]; char ( ** p2 )[2]; char ( ** p2[4] ) [3][4]; 展开
展开
1个回答
展开全部
1.定义一个指向char类型的指针
2.定义一个指向char类型的二维数组的指针,且数组的第二维为10,即可以这样用char
a[2][10];
p=a;
但不能char
a[2][9];
p=a;
3.定义了一个指向int类型的二维数组的指针,且数组的第一维为10,第二维为20,
p[2]+3加了12个字节.
4.定义指向int的四维数组,
p[2][3]+1,加了4800(30*40*4)字节.*p[3][4]
+
4加了640(4*40*4)个字节.因为.*p[3][4]
+
4相当于.p[3][4][0]
+
4.
下面的类似了,就是把一级指针换成二级指针.
2.定义一个指向char类型的二维数组的指针,且数组的第二维为10,即可以这样用char
a[2][10];
p=a;
但不能char
a[2][9];
p=a;
3.定义了一个指向int类型的二维数组的指针,且数组的第一维为10,第二维为20,
p[2]+3加了12个字节.
4.定义指向int的四维数组,
p[2][3]+1,加了4800(30*40*4)字节.*p[3][4]
+
4加了640(4*40*4)个字节.因为.*p[3][4]
+
4相当于.p[3][4][0]
+
4.
下面的类似了,就是把一级指针换成二级指针.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询