C++ 指针
创建指针
您在上一章中了解到,我们可以使用 &
运算符获取变量的**内存地址**。
示例
string food = "Pizza"; // 一个名为 food 的字符串类型的变量
cout << food; // 输出 food 的值 (Pizza)
cout << &food; // 输出 food 的内存地址 (**0x6dfed4**)
自己尝试 »
然而,**指针**是一个变量,它**以内存地址为值**。
指针变量指向与之类型相同的变量(例如 int
或 string
),并使用 *
运算符创建。您正在操作的变量的地址被分配给指针。
示例
string food = "Pizza"; // 一个名为 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;