C/C++动态分配二维数组(在堆上分配二维数组内存)

问题:

如何动态非配一个二维数组内存,得到一个如char[i][j]数组,其中a,b都是变量。

 

解决方法:

#include <iostream>
#include <stdlib.h>
int main()
{
    int i = 10;
    int j = 20;

    //C语言可以这样:
    char** a = (char**)( malloc( i*sizeof(char*) ) );
    for(int count=0; count<i; count++) {
        a[count]=(char*)malloc(j*sizeof(char)); 
    }
   
    a[9][19] = 'a';
    std::cout<<a[9][19]<<std::endl;

    //C++中最好这样
    char** b = new char*[i];
    for(int count=0; count<i; count++) {
        b[count]= new char[j];
    }

    b[9][19] = 'b';
    std::cout<<b[9][19]<<std::endl;

    //当然最后要记得释放内存。
}


http://www.tanshuotech.com/pcweb/

相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页