C++ 指针数组打印值
我有一个关于这行的问题:C++ 指针数组打印值,c++,C++,我有一个关于这行的问题:cout 我必须做些什么才能从该列获取值*用于取消引用地址(即访问存储在此地址的值)。 和&用于读取变量的地址 所以 ptr[i]是变量的地址 &ptr[i]给出存储在内存中的ptr[i]地址 *ptr[i]给出地址“*ptr[i]”处的值,即var[i] 你能重新表述这个问题吗?我不确定您想要的是什么如果您想打印值,请使用*。如果要打印地址,请使用和。因为指针存储在int*ptr[MAX]中变量您需要取消引用它们,*运算符就是针对这种情况设计的。如果您想打印值,请使用
cout
我必须做些什么才能从该列获取值*
用于取消引用地址(即访问存储在此地址的值)。
和&
用于读取变量的地址
所以
ptr[i]
是变量的地址
&ptr[i]
给出存储在内存中的ptr[i]
地址
*ptr[i]
给出地址“*ptr[i]
”处的值,即var[i]
你能重新表述这个问题吗?我不确定您想要的是什么如果您想打印值,请使用*
。如果要打印地址,请使用和。因为指针存储在int*ptr[MAX]中
变量您需要取消引用它们,*
运算符就是针对这种情况设计的。如果您想打印值,请使用*。如果要打印地址,请使用&what-i-do从中获取值&So-i有一个工作程序:cout
const int MAX = 3;
int main () {
int var[MAX] = {10, 100, 500};
int *ptr[MAX];
for (int i = 0; i < MAX; i++) {
ptr[i] = &var[i]; // assign the address of integer.
}
for (int i = 0; i < MAX; i++) {
cout << "Value of var[" << i << "] = ";
cout << *ptr[i] << endl;
}
return 0;
}
Value of var[0] = 10
Value of var[1] = 100
Value of var[2] = 500
*&ptr[i]
**&ptr[i]
*ptr[i]