C++ 指针

创建指针

从上一章中您了解到,我们可以使用 & 运算符来获取变量的内存地址

实例

string food = "Pizza"; // 类型为 string 的 food 变量

cout << food; // 输出 food 的值(Pizza)
cout << &food; // 输出 food 的内存地址(0x6dfed4)

亲自试一试

然而,指针是一个将内存地址存储为其值的变量。

指针变量指向相同类型的数据类型(如 intstring),并使用 * 运算符创建。您正在使用的变量的地址被分配给指针:

实例

string food = "Pizza"; // 类型为 string 的 food 变量
string* ptr = &food; // 名为 ptr 的指针变量,存储 food 的地址

// 输出 food 的值(Pizza)
cout << food << "\n";

// 输出 food 的内存地址(0x6dfed4)
cout << &food << "\n";

// 使用指针输出 food 的内存地址(0x6dfed4)
cout << ptr << "\n";

亲自试一试

例子解释

使用星号 *string* ptr)创建一个名为 ptr 的指针变量,该指针指向一个 string 变量。请注意,指针的类型必须与您正在使用的变量的类型匹配。

使用 & 运算符存储名为 food 的变量的内存地址,并将其分配给指针。

现在,ptr 保存了 food 的内存地址值。

提示:有三种声明指针变量的方法,但首选第一种方法:

string* mystring; // 首选
string *mystring;
string * mystring;