您的位置:首页 > 编程语言 > C语言/C++

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

2009-06-13 17:44 483 查看
问题:

如何动态非配一个二维数组内存,得到一个如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/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  语言