这两个是等价的吗?
int a=10;
int *p=a;
AND
int a=10;
int *p;
p=&a;
在这两种情况下,p 是否都包含 a 的地址!?
最佳答案
第一种情况,a
的值被复制到p
中(存放地址),所以p
指向地址10.
在第二种情况下,p
指向a
的地址。
还有第三种情况:
int a = 10;
int *p = malloc(sizeof(int));
*p = 10;
在这种情况下,a
的值被复制到p
指向的地址(由malloc()
保留)
关于c - C、C++中的指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12204124/