C语言内存相关编程技巧总结
2023-12-14 11:50:00
一,简介
本文主要介绍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语言内存相关的一些编程技巧,持续更新中,供相关开发人员进行参考,也欢迎大家一起讨论交流~
文章来源:https://blog.csdn.net/xuxu_123_/article/details/134988404
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!