内存管理函数

本文介绍了C语言中常用的内存管理函数malloc、calloc、realloc和free的用法及注意事项。内容包括函数原型、用法演示、malloc与calloc的区别以及realloc的特殊性。强调了检查返回值防止空指针错误以及释放内存后指针应置为空的重要性。
摘要由CSDN通过智能技术生成

常用的内存管理函数有以下这四位↓

malloc、callco、relloc、free

想要这四位的帮助都需要都需要引入一个头文件stdlib.h

目录

函数原型

用法演示

malloc和calloc注意事项

realloc注意事项

 malloc与calloc的对比


函数原型

来看看他们的函数原型

malloc函数原型

void* malloc (size_t size);

这个void并不是无返回类型!看看他后面的小星星,这是无类型指针,所以他是有一个无类型指针的返回值,括号里的参数为无符号整形

callco函数原型

void* calloc (size_t num, size_t size);

他的返回类型同样为无类型指针,他的括号里的参数为两个无符号整形

realloc函数原型

void* realloc (void* ptr, size_t size);

他的返回类型同样为无类型指针,他的括号里有两个参数一个无类型指针和一个无符号整形

上面三个函数都是按照字节数来开辟空间的

free函数原型

不过free函数不是用来开辟空间的

void free (void* ptr);

这次就是无返回值啦,括号里的参数只有一个无类型指针

用法演示

下面来演示下他们的用法

malloc使用方法

#include<stdio.h>
#include<stdlib.h>                     

int main()
{
    //在堆空间中开辟空间
    //使p指向这段开辟的空间
    int* p = (int*)malloc(10 * sizeof(int));                  //开辟十个int类型的大小
    //返回值不强制转换的话有些编译器可能会报警告
    int i;
    for (i = 0; i < 10; i++)
    {
        printf("%d ", *(p+i) = i);
    }
    //空间回收
    free(p);                                    //这里只是把这段内存还给了操作系统p没有置为空指针,p还是指着这个空间
    p = NULL;                                   //需要手动置为空指针,免得后面误操作
    return 0;
}

看看打印结果

callco使用方法


                
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值