C语言内存相关编程技巧总结

一,简介

本文主要介绍C语言内存相关的编程经验和技巧,分为分配内存,使用内存和释放内存三个部分,供相关开发人员参考。

二,经验总结内容

2.1 分配内存

2.1.1 分配模块内存时,最好能够做到8字节对齐

因为在不同平台上进行访问内存效率更高。甚至有些平台,如果内存没有8字节对齐会出现问题。

2.2.2 使用自定义的malloc函数

在分配内存的时候,使用自定义的malloc函数,在分配内存前后加上标志字节如0x5A5A,这样如果这块内存的标志位被越界修改后,在释放的时候能够判断出来,进行报错。不会导致更严重的crash发生。

2.2 使用内存

2.2.1 仿真调试确认内存地址和偏移

为算法每个模块分配完内存之后,仿真调试时,将内存地址和分配大小打印出来,计算一下对应地址和偏移量是否正确,保证不会出现因为内存偏移和预期不一致导致的crash问题。

2.3 释放内存

2.3.1 释放内存后需要将指针置空

在释放完内存后,该指针指向的位置还是原来的内存的地址,但是此时对应地址上的内存已经不能被使用了。所以需要将该指针置为NULL。这样做的好处是:在下次使用该指针时,如果做了非空判断就会直接报错返回,否则会造成野指针访问而crash。

三,总结

本文主要介绍C语言内存相关的一些编程技巧,持续更新中,供相关开发人员进行参考,也欢迎大家一起讨论交流~

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

音频金钟小赵

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值