使用malloc分配二维数组的两种方法

时间:2015-02-23 15:23:47   收藏:0   阅读:268

方法一:

#include <malloc.h>
#include <stdio.h>
int main()
{
    int **a = malloc(sizeof(int)*3);
    a[0]= malloc(sizeof(int)*2);
    a[1]= malloc(sizeof(int)*2);
    a[2]= malloc(sizeof(int)*2);
    a[0][0] =1;
    a[0][1] =2;
    a[1][0] =3;
    a[1][1] = 4;
    a[2][0] =5;
    a[2][1] = 6;
    printf("%d\t%d\t%d\t%d\t%d\t%d\n",a[0][0],a[0][1],a[1][0],a[1][1],a[2][0],a[2][1]);
    free(a[0]);
    free(a[1]);
    free(a[2]);
    free(a);
}

方法二:

#include <malloc.h>
#include <stdio.h>
int main()
{
    int (*a)[2] = malloc(sizeof(int)*3*2);
    a[0][0] =1;
    a[0][1] =2;
    a[1][0] =3;
    a[1][1] = 4;
    a[2][0] =5;
    a[2][1] = 6;
    printf("%d\t%d\t%d\t%d\t%d\t%d\n",a[0][0],a[0][1],a[1][0],a[1][1],a[2][0],a[2][1]);
    free(a);
}

 

文章转自:http://blog.csdn.net/todd911/article/details/7915753

原文:http://www.cnblogs.com/laijingwu/p/4298040.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!