[英]Pointer in C++ (syntax)
我有一些想证实的猜测。 如果有人可以帮助我,我将不胜感激。
例如,当我在C ++中声明一个指针时
int *x = 5;
这是否意味着*不是用于取消引用,而是仅用于指针的声明; 结果,x指向整数x的地址?
提前致谢。
您几乎是正确的, int *x
(您也可以编写int* x
)表示x是指向int的指针...但是还没有喜欢它的int
int *x = 5;
实际上意味着x是链接到内存地址 5的指针,该地址应该包含一个int。 由于此地址可能不是您的程序分配的,因此可能会失败。
您可以尝试执行以下操作
int x = 5;
int *xAddr = &x;
*xAddr = 3;
在这里,我们以与您相同的方式声明了xAddr,但告诉它它指向x的地址(即&
字符)。 通过将xAddr指向的值更改为3(第3行,在此取消引用),我们将x的值更改为3
这是一个很好的教程,可以更好地理解指针
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.