我正在尝试使用一个指针数组来存储一些double值的地址,这些值也存储在一个数组中。
我的问题是,我能够打印地址但不能打印实际值。我想出了以下内容。当我尝试添加一个星号(cout<< * ptrArr [i]<< endl;)时,我收到一条错误消息,指出它不是指针。
const int size = 3;
double var[size] = { 0.0, 0.1, 0.2};
int *ptrArr = new int[size];
for (int i = 0; i < size; i++) {
ptrArr[i] = (int)&var[i]; // assign the address of integer.
}
for (int i = 0; i < size; i++) {
cout << "Value of var[" << i << "] = ";
cout << ptrArr[i] << endl;
}
delete ptrArr;
答案 0 :(得分:0)
你想要这个吗?使用double *数组来存储地址:
const int size = 3;
double var[size] = {0.0, 0.1, 0.2};
double **ptrArr = new double*[size];
for (int i = 0; i < size; i++) {
ptrArr[i] = &var[i]; // assign the address of the double.
}
for (int i = 0; i < size; i++) {
cout << "Value of var[" << i << "] = ";
cout << *ptrArr[i] << endl;
cout << "Address of var[" << i << "] = ";
cout << ptrArr[i] << endl;
}