C语言用指针引用数组元素
如下所示定义,对数组a中元素的正确引用是()Cinta[2][3],(*p)[3];p=a;A、(p+1)[0]B、*(*(p+2)+1)C、*(p[1]+1)D、p[1...
如下所示定义,对数组a中元素的正确引用是() C
int a[2][3], (*p)[3];
p = a;
A、(p+1)[0]
B、*(*(p+2)+1)
C、*(p[1]+1)
D、p[1]+2
这个(*p)[3]经过赋值之后是个什么东西,是几维数组了。为什么选择C啊
这个(*p)[3]没赋值前是个3维数组指针。赋值之后变成2维数组指针了对嘛? 展开
int a[2][3], (*p)[3];
p = a;
A、(p+1)[0]
B、*(*(p+2)+1)
C、*(p[1]+1)
D、p[1]+2
这个(*p)[3]经过赋值之后是个什么东西,是几维数组了。为什么选择C啊
这个(*p)[3]没赋值前是个3维数组指针。赋值之后变成2维数组指针了对嘛? 展开
5个回答
展开全部
赋值后,指针数组的第一个指针指向字符串数组(a)里的第一个字符串的第一个字符,第二个数组指向第二个字符串的第一个字符,第三个指针没有指向任何实体是空的。
A.是一个指针,指向a中第二个字符串
B.由于a的第一维大小为二,故B选项是空的,没有应用a中的元素。
D.也是一个空指针,没有应用任何元素
A.是一个指针,指向a中第二个字符串
B.由于a的第一维大小为二,故B选项是空的,没有应用a中的元素。
D.也是一个空指针,没有应用任何元素
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
p是指向有3个int*型元素的指针,也可以说p代表一维数组,p=a就是把a指针放到p数组的第一个位置,因此p[1]是指a,那么c选项就是访问a的第一个元素
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
还是学生吧,看看 《c 与 c指针》
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
int (*p)[3]可以看做struct{int m [3]}*p;表示一个装有三个整数的指针,p[1]相当于地址加3个整形的大小,再加一相当于地址又加了1
追问
这个(*p)[3]没赋值前是个3维数组指针。赋值之后变成2维数组指针了对嘛?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询