如何用malloc创建二维数组

来源:互联网 发布:机械设计3d软件 编辑:程序博客网 时间:2024/06/05 10:40
不连续:int **creat_arry() {        int **p;     p=(int **)malloc(C*sizeof(int *));     if(!p)  return  NULL;     for(int i=0;i<C;i++)     {           *(p+i)=(int *)malloc(R*sizeof(int));         if(*(p+i)==NULL)         {                return NULL;         }     }     return p; }



连续内存

int **creat_arry_continuns(){    int **p;     p=(int **)malloc(C*sizeof(int *));    if(!p)  return NULL;     p[0]=(int *)malloc(C*R*sizeof(int));     if(!p[0])     {         free(p);        return NULL;     }     for(int i=1;i<R;i++)     {         p[i]=p[i-1]+C;     }     memset(p[0],0,sizeof(p[0]));    return p; }


0 0