C++ 指针


创建指针

你从上一章中了解到,我们可以得到内存地址通过使用变量&运算符:

示例

string food = "Pizza"; // A food variable of type string

cout << food;  // Outputs the value of food (Pizza)
cout << &food; // Outputs the memory address of food ( 0x6dfed4)
亲自试一试 »

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

指针变量指向一种数据类型(例如int或者string)相同类型,并且是用*运算符。您正在使用的变量的地址被分配给指针:

示例

string food = "Pizza";  // A food variable of type string
string* ptr = &food;    // A pointer variable, with the name ptr, that stores the address of food

// Output the value of food (Pizza)
cout << food << "\n";

// Output the memory address of food (0x6dfed4)
cout << &food << "\n";

// Output the memory address of food with the pointer (0x6dfed4)
cout << ptr << "\n";
亲自试一试 »

示例解释

创建一个带有名称的指针变量ptr, 那指着Astring变量,通过使用星号*string* ptr)。请注意,指针的类型必须与您正在使用的变量的类型相匹配。

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

现在,ptr持有的值food的内存地址。

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

string* mystring; // Preferred
string *mystring;
string * mystring;

C++练习

通过练习测试一下

练习:

创建一个指针带有名称的变量ptr,这应该指向一个string变量命名food:

string food = "Pizza";
  = &;

开始练习