1.指针如果有具体的指向,包括野指针,对应的合法性,我们是无法验证的。
2.所有的指针如果没有被直接使用,必须设置为NULL。
3.在函数内部,要验证指针的合法性,本质上是验证指针!=NULL。
4.自定义函数传入指针时不建议使用assert来检测,原因1:无法传入一个NULL指针。
原因2:只在debug下起作用。
5.指针越界不一定会报错。
6.程序退出之后内存泄漏问题就不存在了。
但是永远不会退出的程序,最害怕内存泄漏(操作系统,杀毒软件,服务器程序)。
7.用malloc申请空间,实际分配的空间比用户申请的空间大。同一种编译器,在同一种C语言标准下,多出来的空间是固定的。所以,如果要申请大的空间,建议使用动态内存开辟,如果申请小空间,建议在栈上开辟数组。