首页 > 其他 > 详细

二维空间

时间:2015-09-17 21:30:47      阅读:285      评论:0      收藏:0      [点我收藏+]

1,在堆上申请二位空间

     1.1二维空间,并不一定就是二维数组,具有数组的访问形式。但己经远远不是数组的定义了

     1.2二级指针做返回值输出申请不连续的二维空间

     void **Myarry2(int base,int row,int line)

{

    void**p = (void **)malloc(sizeof(void*)*row);

    for(int i = 0;i<row;i++)

    {

        p[i]=(void *)malloc(base*line);

    }

    return p;

}

  1.3三级指针做参数输出

  void Myarry3(void ***p, int base,int row, int line)

{

    *p = (void **)malloc(sizeof(void *)*row);

    for(int i = 0;i<row;i++)

    {

        (*p)[i] = (void*)malloc(base*line);//(*p)对p进行降指

    }

    return 0;

}

 

    1.4对以上空间的释放

void Freearry(void **p,int row)

{

    for(int i =0;i<row;i++)

    {

        free(p[i]);

    }

    free(p);

    return 0;

}

     1.5申请一个连续的二维空间

   void **Mymalloc(int base,int row,int line)

{

    void **p = (void **)malloc(sizeof(void*)*row);

    void *pa=(void*) malloc(base*line*row);

    int (*arry)[line] =pa;

    for(int i =0;i<row;i++)

    {

        p[i] = arry++;

    }

    return p;

}

释放空间

void FreeArry(void **p)

{

    free(p[0]);

    free(p);

    return 0;

}

二维空间

原文:http://www.cnblogs.com/lvlup/p/4817551.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!