我遇到了一个指针取消引用问题。
在 C 中,&a 表示 a 的地址。如果 a 是指针,则 &a 仅表示该指针的地址。
所以如果我们有:
char ptr [] = "abcd"
ptr 应该是指向第一个字符的指针,即'a'。所以,
&ptr
应该是ptr的地址,与'a'的地址不同。但是,当我尝试以下代码时,我真的很困惑:
int main()
{
char a [] = "abcd";
printf("0x%X 0x%X", a, &a);
}
Output: 0xBF7E62AB 0xBF7E62AB
有人可以解释为什么 a 和 &a 具有相同的值吗?根据我的理解,它们应该是不同的。提前致谢