C语言的三级指针指向内存地址的问题
#include <stdio.h>
int main()
{
int i = 10;
int a = 30;
int *p = &i;
int **pp = &p;
int ***ppp = &pp;
printf("&i=%d &a=%d &p=%d &pp=%d &ppp=%d\n", &i, &a, &p, &pp, &ppp);
printf("***ppp=%d **ppp=%d *ppp=%d \n", ***ppp, **ppp, *ppp);
return 0;
}
请问下***ppp不是三级指针吗? 为什么会有**ppp这样的形式?**ppp又为什么会指向&i的地址,而*ppp这样的形式为什么会指向&p的地址 这2个我不是很理解,麻烦大神解释下,谢谢!
int main()
{
int i = 10;
int a = 30;
int *p = &i;
int **pp = &p;
int ***ppp = &pp;
printf("&i=%d &a=%d &p=%d &pp=%d &ppp=%d\n", &i, &a, &p, &pp, &ppp);
printf("***ppp=%d **ppp=%d *ppp=%d \n", ***ppp, **ppp, *ppp);
return 0;
}
请问下***ppp不是三级指针吗? 为什么会有**ppp这样的形式?**ppp又为什么会指向&i的地址,而*ppp这样的形式为什么会指向&p的地址 这2个我不是很理解,麻烦大神解释下,谢谢!
...全文


