C语言野指针

C语言在malloc() 分配到新内存后, 必须对新分配的内容进行初始化, 否则会出现野指针问题. 不然free()的时候会让你左右为难.

    if(block_buffer == NULL) {

        block_buffer_size = settings.planner_buffer_blocks;

        //尝试尽量多的分配缓存空间.
        while((block_buffer = malloc((block_buffer_size + 1) * sizeof(plan_block_t))) == NULL) {
            if(block_buffer_size > 40)
                block_buffer_size -= block_buffer_size >= 250 ? 100 : 10;
            else
                break;
        }

        memset(block_buffer,   0,   block_buffer_size * sizeof(plan_block_t) ); //全部清0. 防止野指针 
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值