搜索

首页  >  问答  >  正文

C++创建二维指针问题

int n = 0;
int **num = new int*[n];
cin >> n;

上述的代码,Line2和Line3我弄反了,为什么结果在后面进行二维数组操作的时候没有影响?

for (int i = 0; i<n; i++) {
        num[i] = new int[i+1];
        for (int j = 0; j < i+1; j++) {
            cin >> num[i][j];
        }
    }

比如我上述操作之后,我还是可以对num[][]进行读写。new的性质到底是怎样的?

伊谢尔伦伊谢尔伦2808 天前305

全部回复(1)我来回复

  • 黄舟

    黄舟2017-04-17 13:31:16

    C和C++并不检测基本类型数组越界,指针可以随意玩,但是这样做很危险

    回复
    0
  • 取消回复