C——空间申请总结

    void* malloc(size_t size);
   
    int *p=(int *)malloc(sizeof(int)*10);

malloc进行对堆空间的申请,将申请的堆空间赋给p,我们申请的堆空间返回的是空间地址我们要使用一个指针来进行存储;只会接受一个参数就是空间的大小

    void* calloc(size_t num, size_t size);

    int *p=(int *)calloc(10,sizeof(int));
//动态申请一个包含10个元素的int型数组p

calloc进行对堆空间的申请,返回的也是空间首地址,但是会将空间中的元素的数据都赋值为0;会接收两个参数,size_t num空间大小,size_t size空间类型

    void* realloc(void* ptr, size_t size);
    
    int* ptr = (int*)malloc(sizeof(int));
    ptr = (int*)realloc(ptr, 5 * sizeof(int));

reallo用于重新分配已经申请的空间,它接受的也是两个参数,void*ptr空间首地址,size_t size空间大小;返回的是已经分配过的内存首地址;

    void free(void* ptr);
    
    free(ptr);

free是将由malloc,calloc,realloc三者申请的空间释放;接受的参数只有一个void *ptr指向该空间的首地址的指针

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值