f936843532 发表于 2019-10-1 16:08:04

C语言指向指针的指针课后测试题求助

有人能帮我解释一下这道题答案为什么是这个吗,谢谢啦

justjust001 发表于 2019-10-2 15:03:12

可以按照下面顺序理解下:
1. pArray 指向这个字符串数组的第一个元素,因此pArray,pArray,pArray,pArray就是每个字符串的值,也就是欲求的最后的结果。
2. 但是题目要求(*p),要求要先解引用一个地址p,得到的结果再对他进行第1步的操作。那么就可以得出p指向这个字符串数组的地址,p = &pArray。
3. 最后是它的类型定义。首先,它是一个地址类型,所以*p。然后是他指向的数据的类型,是一个char *类型的数组,将两者结合,char *(*p),但是这样写是非法的,只能写成char *(*p)。这样写确实不好理解,类似的还有指针和函数的结合。

666666q 发表于 2019-10-2 15:14:57

首先你要明白什么是指向指针的指针例如char **p
char *(*P)这个是指向指针的数组指针 会进行2此解引用
第一次解引用是获取他的地址 第二次解引用是获取他的数据

f936843532 发表于 2019-10-2 15:22:26

justjust001 发表于 2019-10-2 15:03
可以按照下面顺序理解下:
1. pArray 指向这个字符串数组的第一个元素,因此pArray,pArray,pArray

char *(*p)里第一个*是将p变成指向指针的指针的意思吗

f936843532 发表于 2019-10-2 15:42:53

666666q 发表于 2019-10-2 15:14
首先你要明白什么是指向指针的指针例如char **p
char *(*P)这个是指向指针的数组指针 会进行2此解引用 ...

懂了,谢谢啦

666666q 发表于 2019-10-2 15:55:31

f936843532 发表于 2019-10-2 15:42
懂了,谢谢啦

没事 不客气

TimeLose 发表于 2019-10-7 17:00:38

..

心驰神往 发表于 2020-11-3 15:33:05

{:10_249:}
页: [1]
查看完整版本: C语言指向指针的指针课后测试题求助