c语言指针问题 求解!

CSDN问答 2021-12-30 13:25:05 阅读数:538

问题 指针 语言 求解

img


37题为什么选c ptr指的是啥 int(ptr)【3】=a;代表的啥意思是指的第0行的第2列的数6嘛 那后边的加2是啥意思
大佬求解!




采纳答案:

供参考:
ptr指向的是长度为3个int整数的数组的指针,即二维数组a的第一行;
第一个选项*(*(p+5))语法错误,因为p是整数指针,对其直接取两次值会报编译错误;


第二个选项 : ptr指向数组a第一行第一个数字,ptr+1 指向二维数组a第一行第二个数字-'2'(为int型指针),
(*ptr+1)+2指向第二个数字往后2个数字-'4' (int型指针),然后取值就是数字4.


第三个选项: ptr+1指向二维二维数组a的第二行,
*(ptr+1)指向数组a第二行的第一个数字-'4', (ptr+1)+2指向第二行第一个数字往后移动2个数字的位置,即'6'.


第四个选项:
ptr指向数组a第一行第一个数字-'1', *ptr+1指向第一行第一个数字往后移动一个数字-'2',然后再加+2,所以就是一个数字'2'的地址值+2



其他答案2:

int (*ptr)[3]是一个数组指针,指向一个元素个数为3的整型数组,*(ptr + 1)相当于ptr[1],也就是a[1],a[1]中的值是第二行数组的首地址,所以*(*(ptr+1)+2)相当于a[1][2].

版权声明:本文为[CSDN问答]所创,转载请带上原文链接,感谢。 https://ask.csdn.net/questions/7620035