c语言中 指针的指针赋值问题,void **p, void *q; p = &q,与*p= q的区别 是什么

2025-02-28 01:01:52
推荐回答(3个)
回答1:

p = &q是把q的地址给p,使p指向q
*p= q是把q的值赋给p所指向的存储单元
画个图好理解些

回答2:

p = &q 的意思是p里面放q的内存地址
*p= q 的意思是p所指的某个某个地址放q里的值

回答3:

首先明确p,q都是变量。都是存在内存中的一个数据,都是有地址的。
其次p,q都是存储地址的变量。

我们可以把整形的值的地址赋给一个指针变量。
我们还可以把一个指针变量的地址得地址赋给另一个指针变量。

int i=0;
int *P=&i;
int **P=&(&i);