我的问题是关于指针声明的 c 语法的一个简单问题(我希望如此)。我完全知道如何声明一个指针,它是如何使用的,效果是什么,如下所示。
int *val_ptr;
int val =99;
val_ptr = &val;
然而,令我困惑的是,为什么当我们在 C 中声明一个指针时,我们使用 * 间接(值)运算符?而不是运算符的 & 地址。如果我们声明一个指针,用 & 这样做是不是没有意义,因为我们声明了一个地址,对吗?例子:
int & val_ptr;
int val =99;
val_ptr = &val;
我知道这是不正确的,但在我看来这似乎更直观。我对 * 运算符的概念中缺少什么。我还没有找到一本可以解释原因的教科书,它们只是说明了如何。我知道怎么做,我想知道为什么。
谢谢阅读。