c語言指針問題 求解!

CSDN問答 2021-12-30 13:25:58 阅读数:375

求解

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://primo.wiki/2021/12/202112301202056863.html