Menu
CoddyTech

算术运算:赋值

Coddy C++ 指针 课程的第 3 课,共 14 课。

指针和其他变量及数据类型一样,也可以进行算术运算。

赋值

在某一时刻,一个指针只能指向一个地址。但在程序运行过程中,这种情况可以改变,指针也可以修改为指向其他内容。 
注意:多个指针可以指向同一位置。

int var = 5;
int *ptr = &var;
int *newPtr = ptr;
cout << "Pointer address: " << ptr << endl;
cout << "2nd pointer address: " << newPtr;
Output:
Pointer address: 0x7fffca8285cc
2nd pointer address: 0x7fffca8285cc

指针 ptr 的值被赋给了 newPtr,现在这两个指针都指向同一个变量 var,也就是存放值 5 的内存地址。

int x = 10;
int *ptr = &x;
int *newPtr = ptr;
cout << "x = " << x << endl;
cout << "ptr = " << ptr << endl;
cout << "*ptr = " << *ptr << endl;
*newPtr = 25;
cout << "x = " << x << endl;
cout << "newPtr = " << newPtr << endl;
cout << "*newPtr = "<< *newPtr;
Output:
x = 10
ptr = 0x7ffe28364c9c
*ptr = 10
x = 25
newPtr = 0x7ffe28364c9c
*newPtr = 25

如你所见,我们有一个值为 10 的整数变量 x,并声明了指针 ptr 和 newPtr,让它们指向同一个变量 x。查看内存地址就能发现这一点。现在,我们将 *newPtr 的值改为 25,这也会自动改变 x 的值,因为 newPtr 指向它。

quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

challenge icon

挑战

简单

你会从标准输入中获得 2 个数字。将它们输入到你选择的变量中,重点是创建一个名为 *ptr 的整数指针,并将其初始化为指向第一个数字。然后,通过解引用指针,将第二个数字的值赋给它,并将其值打印到标准输出。

亲手试试

#include <iostream>

using namespace std;

int main()
{
    
    // 在这里输入你的代码
    
    return 0;
}

C++ 指针中的所有课

自己练习: C++ 在线编译器