在 C++ 中访问二维指针数组中的值

accessing to value in two dimensional pointer array in c++

本文关键字:指针 二维 数组 C++ 访问      更新时间:2023-10-16

我想声明具有可变大小的二维数组。我写了以下代码,但出了点问题!

int **p2DArray;
p2DArray = new int*[target_counter_new];
for (int i = 0; i < target_counter_new; ++i)
    { 
   p2DArray[i] = new int[target_counter_old];
     }

for(int i_oghli=0;i_oghli<target_counter_new;i_oghli++)
    for(int j_oghli=0;j_oghli<target_counter_old;j_oghli++)
    {
         p2DArray[i_oghli][j_oghli]=i_oghli+10;
         cout<<p2DArray[i_oghli][j_oghli];
    }

这里有什么问题?

#include <iostream>
using namespace std;
const int target_counter_new = 4;
const int target_counter_old = 4;
int main() {
    int **p2DArray;
    p2DArray = new int*[target_counter_new];
    for (int i = 0; i < target_counter_new; ++i) { 
       p2DArray[i] = new int[target_counter_old];
    }
    for(int i_oghli=0;i_oghli<target_counter_new;i_oghli++) {
        for(int j_oghli=0;j_oghli<target_counter_old;j_oghli++) {
             p2DArray[i_oghli][j_oghli]=i_oghli+10;
             cout<<p2DArray[i_oghli][j_oghli] << " ";
        }
        cout << endl;
    }
    // don't forget to delete the array
    for (int i = 0 ; i < target_counter_new; ++i) {
        delete [] p2DArray[i];
    }
    delete [] p2DArray;
    return 0;
}

检查这里 : 代码似乎没有任何问题。