一系列指针存储地址并以后打印



我正在尝试使用一系列指针来存储一些双重值的地址,它们也存储在数组中。

我的问题是,我能够打印地址,而不是他们指出的实际值。我想出了以下内容。当我尝试添加星星(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;

您想得到这个吗?使用双*数组,存储地址:

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;
}

最新更新