在声明并初始化指针之后,何时在变量文字前加上星号,何时不?

Wus*_*uhn 6 c c++

普通文字是指地址,*literal是指地址的实际值?所以,后来:

int i = 0;
int *iPointer = &i;
Run Code Online (Sandbox Code Playgroud)

以下表达式将查找VALUE AT内存地址&i:

*iPointer
Run Code Online (Sandbox Code Playgroud)

以下将简单地产生内存地址&i:

iPointer
Run Code Online (Sandbox Code Playgroud)

我介入并验证了我的假设,但我想确定(你永远不会知道这些事情).

我想我只是对*符号在声明和访问中的不同目的感到困惑.

Luc*_*ore 8

是的,这是绝对正确的.

另外,请注意&,根据上下文,也可以声明引用.

在声明中,*声明一个指针类型.

当应用于指针(如*ptr)时,它表示取消引用运算符并返回指针指向的值.

请注意,operator *可以重载,因此您也可以将它应用于对象,而不仅仅是指针,并让它做任何你想做的事情.