C语言,int **p; *p表示什么意思啊?

2024年11月19日 18:28
有4个网友回答
网友(1):

int **p是一个2阶指针,它里面存放的是指向整形变量的指针的地址
如果是int *p,那么p中存放的是整形变量的地址
int n=0;
int *p;
int**q;
p=&n;(即存放的是n的地址)
q=&p;(即存放的是p的地址)
不管什么样的指针,它所存放的都是内存的地址,只不过存放的地址不一样而已,好好理解

网友(2):

int *p 表示 *p 是一个 int 型,p是一个指向int型数据的指针。

int **p表示 **p是一个int 型,*p是一个指向int *型数据的指针,p是一个指向int **类型数据的指针。

网友(3):

*p代表一个指针,是指向一个整型变量的地址
**p代表指向指针的指针,是指向地址的地址

网友(4):

可以这样来理解嘛
int i;
int* pi = &i;
int** ppi = π
所以*ppi = pi = &i 即*ppi存的是一个地址

明白无?