野指针与内存操作

1.野指针通常是因为指针变量中保存的值不是一个合法的内存地址而造成的

2.野指针不是NULL指针,是指向不可用内存的指针

3.NULL指针不容易用错,因为if语句很好判断一个指针是不是NULL,C语言中没有任何手段可以判定一个指针是否为野指针

4.(1)局部变量没有被初始化(2)使用已经释放后的指针(3)指针所指向的变量在指针之前被销毁.

5.结构体成员指针未初始化

6.没有为结构体指针分配足够的内存

7.内存分配成功,但并未初始化

8.数组越界

9.内存泄漏,最好单入单出

10.多次指针释放,后果:(异常退出)

11.使用已释放的指针

12.用malloc申请了内存之后,应该立即检查指针值是否为NULL,防止使用值为NULL的指针.

12.牢记数组的长度,防止数组越界操作,考虑使用柔性数组.

13.动态申请操作必须和释放操作匹配,防止内存泄漏和多次释放.

free指针之后必须立即赋值为NULL


猜你喜欢

转载自blog.csdn.net/qq_31208451/article/details/77430480