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

2024-11-19 18:28:12
推荐回答(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存的是一个地址

明白无?