空指针

  • 概念:指针变量指向内存中编号为0的空间
  • 用途:初始化指针变量
  • 注意:空指针指向的内存是不可以访问的
  1. #include <iostream>
  2. using namespace std;
  3. int main(void) {
  4. // 空指针
  5. //1.空指针用于给指针变量进行初始化
  6. int* p = NULL;
  7. //2.空指针是不可以进行访问的
  8. //0 - 255编号之间的内存是系统占用的,因此不可以进行访问
  9. system("pause");
  10. return 0;
  11. }

野指针

  • 概念:指针变量指向非法的内存空间
  • 示例2:野指针
  1. #include <iostream>
  2. using namespace std;
  3. int main(void) {
  4. //野指针
  5. //在程序中,尽量避免出现野指针
  6. int* p = (int*)0x1100;
  7. cout << *p << endl; // 运行错误
  8. system("pause");
  9. return 0;
  10. }

总结

  • 空指针和野指针都不是我们申请的空间,因此不要访问。