你从上一章中了解到,我们可以得到内存地址通过使用变量&
运算符:
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;
截取页面反馈部分,让我们更快修复内容!也可以直接跳过填写反馈内容!