码迷,mamicode.com
首页 > 其他好文 > 详细

二维空间

时间:2015-09-17 21:32:58      阅读:187      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!