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语言内存相关的一些编程技巧,持续更新中,供相关开发人员进行参考,也欢迎大家一起讨论交流~

猜你喜欢

转载自blog.csdn.net/xuxu_123_/article/details/134988404