C++对指针取星号,怎么理解?
在C++中,*
符号与指针有着密切的关系,但其含义取决于上下文。以下是关于*
与指针相关的主要情境:
- 声明时的星号:当你声明一个指针变量时,
*
表示这是一个指针。
int *p; // p 是一个指向整数的指针
但这里的*
并不执行任何操作,它只是一个标记,告诉编译器p
是一个指针。 2. 解引用指针:当你对一个已经声明的指针变量使用*
时,它表示解引用该指针,即获取该指针所指向的值。
int x = 10;
int *p = &x; // p 指向 x
int y = *p; // y 的值现在是 10,因为 *p 获取了 p 所指向的值
在这里,*p
表示“p所指向的内容”。 3. 通过指针赋值:你还可以使用*
来通过指针修改其所指向的值。
int x = 10;
int *p = &x;
*p = 20; // 现在 x 的值是 20
总结:在声明时,*
表示“这是一个指针”。而在已经声明的指针上使用*
时,它表示“获取或设置这个指针所指向的值”。
希望这有助于你理解C++中的指针和*
符号!