C++ 指针
创建指针
从上一章中您了解到,我们可以使用 &
运算符来获取变量的内存地址:
实例
string food = "Pizza"; // 类型为 string 的 food 变量 cout << food; // 输出 food 的值(Pizza) cout << &food; // 输出 food 的内存地址(0x6dfed4)
然而,指针是一个将内存地址存储为其值的变量。
指针变量指向相同类型的数据类型(如 int
或 string
),并使用 *
运算符创建。您正在使用的变量的地址被分配给指针:
实例
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;