二维空间

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;

}

转载于:https://www.cnblogs.com/lvlup/p/4817551.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值