char ***p 多重指针怎么读?
char *** p =null;
这个语句怎么理解? 怎么读呢 ? 这么多*符号 我都晕了。。。
[解决办法]
char *p:p指向一个char类型的指针,可以类似看作是一个字符数组
char **p:p指向一个指针,该指针是指向一个char类型的指针,可以类似看作是个指向字符串数组的指针
char ***p:p指向一个指针,该指针又指向一个指向一个char类型的指针的指针,可以类似看作是指向字符串数组的指针的指针。
[解决办法]
char *** p ;
1. *只是类型说明符,任它几个*,总之是一个*型(地址或指针),最终指向目标为char.
2.一颗*一级指针,三颗就三级指针。
3.三级指向二级的地址,二级指向一级的地址,一级指向最终目标变量的地址。
4.存一个变量的地址就一星,变量是什么类型 就是什么星。
char A
char *cp=&A
char B[5]={}
char **cpp=B
char***cppp=&cpp
char * 指向单个字符
char** 指向一串字符(当一行理解)
char***指向一多串字符(当一页理解),当然存这个页是个变量 ,也有地址。char***就是放这个地址的
[解决办法]
char ch = 'a';char *p = &ch;char **pp = &p;char ***ppp = &pp;printf("%c\n%c\n%c\n%c\n", ch, *p, **pp, ***ppp);
[解决办法]
英文比较好读: pointer to pointer to pointer to char;
中文: 指向指向指向字符的指针的指针的指针.