关于malloc使用问题,总结了一下malloc使用大致分成两个门派

文章讨论了malloc内存分配的两种常见做法,一种未做错误检查,另一种包含错误处理。强调在大工程和团队协作中,错误处理的重要性在于快速定位和解决问题。作者还提到了其他函数如Calculate_Sum应加入异常处理的示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

关于malloc使用问题,总结了一下malloc使用大致分成两个门派,如下:

/*第一种*/

int len = 10000000000;

int *ptr= (int *)malloc(sizeof(int) * len);

/*第二种*/
int len = 10000000000;

int *ptr= (int *)malloc(sizeof(int) * len);

if(ptr==NULL)

{

    printf("malloc ptr error!!!\n");

}

一种就是没有做错误处理或者判断,另一种是有做错误处理。

这两种方式对于熟悉自己芯片资源的情况下,无伤大雅,反正自己知道空间足够,100%能申请成功。但是对于大工程移植或者团队开发排查异常问题时,出现异常又没办法确定问题,这个时候就凸显出这种错误处理的作用,可以大大缩短排查时间。

其实不光是malloc的错误处理,任何一个类似的情况都应该加一个错误处理。例如:

/*
Calculate_Sum:求和函数

异常返回-1

成功返回值>0

*/

int Calculate_Sum(unsigned short a, unsigned short b)

{

    if(a>65535 || b>65535)

    return -1;


    return a+b;

}

int main(void argc, void*argv[])

{

    if(Calculate_Sum(65536, 1)<0)

    {

        //异常处理
        printf("Calculate_Sum error!!!\n");

    }

    return 0;

}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值