C++ 空指针和野指针

点击蓝字

3be433706530cac7a562b004c384de7d.png

关注我们

来源于网络,侵删

1.空指针

  • 指针变量指向内存中编号为0的空间为空指针。

  • 空指针指向的内存空间是不可以访问的 。

代码:

#include<iostream>
using namespace std;
int main() {






  int a = 10;
  int * p = &a;
  cout << p << endl;
  cout << &a << endl;


  cout << "指针占" << sizeof(int *) <<"字节" << endl;
  cout << "指针占" << sizeof(p) << "字节" << endl;


  //1,指针变量指向内存中编号为0的空间为空指针
  //2,空指针指向的内存空间是不可以访问的


  int * q = NULL;
  //0-255内存编号为系统占用,不允许用户访问
  cout << *q << endl;


  system("pause");
 }

分析:

fe40fe1780dea8be9e92b346c114d261.pngd3858f759006636cd690c69021659045.png

2.野指针

指针变量指向非法的内存空间

代码:

#include<iostream>
using namespace std;




int yezhizhen() {
  //指针变量p指向内存地址编号为0x1100的空间
  int * p = (int *)0x1100;
  //访问野指针报错
  cout << *p << endl;
  system("pause");
  return 0;
}

分析:f239274c568d0878e219794418d083d2.png

ce2d402467d6f8abaf7fa02f6ee54a31.png

 
 
 
 

3be0e0ec140d4e1c65e4c8ff34e80c3c.gif

如果你年满18周岁以上,又觉得学【C语言】太难?想尝试其他编程语言,那么我推荐你学Python,现有价值499元Python零基础课程限时免费领取,限10个名额!
▲扫描二维码-免费领取

0a5290c2589a2e52f901750295cc3edf.gif

戳“阅读原文”我们一起进步

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值