关于指针与二维数组之间的那些事

int a[2][3]={{1,2,3},{4,5,6}}

(*p)[3]=a;

若引用数组第二行第二列元素的值,则下列不正确的表达式为

A:*(*(a+1)+1)

B:*(*(p+1)+1)

C:*(*(++a)+1)    //错误

D:*(*(++p)+1)

解析:因为数组名a是一个常量,而p是一个变量,a可以a+1,但不能++a,但p可以

拓展:类型符说明 (*指针变量名)[长度]

int (*p)[4]   *p有4个元素,每个元素都为整型

        p所指的对象是有四个整型元素的数组

*(p+2)+3=a[2]+3=&a[2][3];

*(*(p+2)+3)=*(a[2]+3)=a[2][3];

 

小白自行理解,如有错误,请大佬指出,谢谢

转载于:https://www.cnblogs.com/cdp1591652208/p/6212267.html

表情包
插入表情
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符
相关推荐
©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页