野指针:指向哪里不可预知。
这个”野指针”指向的内存空间,可能是某个重要的数据或其它程序,甚至是系统的重要内存位置. 再次访问时造成的危害是不可预知的;容易被病毒或黑客攻击. 在这个”野指针”指向的内存中放点“东西”, 你使用这个”野指针”时,自然中招.
避免方法:
1.创建一个指针时, 地址指向明确地址或者NULL
2 释放一个指针后, 马上把它置为空,下次用时再重新分配空间.
空指针:表示当前这个指针变量处于空闲状态,没有指向任何有意义的内存空间(指向0)。操作系统不会把任何数据放在0及其附近。int *p = NULL;
#define NULL ((void *)0) 把0强转为地址0。
无类型指针void*:可以指向任何类型指针,可以做函数模板传参,一般用于强制类型转换。