今天接触到了常见导致段错误的野指针,学习了如何避免以及解决,由此学习了如何从另一角度评判判一段程序。
1,但一个指针没有指向时,应该置为NULL;
2,检查指针是否分配空间,应该用malloc函数奉陪;
3,检查malloc分配空间是否成功;
4,检查分配空间是否为空;
5,释放空间;
6,用完置空;
关于malloc函数的实现在Linuxc下的解释是
NAME
calloc, malloc, free, realloc - Allocate and free
dynamic memory
SYNOPSIS
#include <stdlib.h>
void *calloc(size_t nmemb, size_t size);
void *malloc(size_t size);
void free(void *ptr);
void *realloc(void *ptr, size_t size);
DESCRIPTION
calloc() allocates memory for an array of nmemb elements
of size bytes each and returns a pointer to the allo-
cated memory. The memory is set to zero.
原型:extern void *malloc(unsigned int num_bytes);
头文件:#include <malloc.h> 或 #include <alloc.h> (注意:alloc.h 与 malloc.h 的内容是完全一致的。)
功能:分配长度为num_bytes字节的内存块
说明:如果分配成功则返回指向被分配内存的指针,否则返回空指针NULL。
当内存不再使用时,应使用free()函数将内存块释放。