C++指针的定义和使用 指针所占的内存空间 空指针和野指针

指针变量:用于存放内存单元地址的变量(记录地址编号(十六进制))
指针的作用 通过指针间接访问内存。
一般通过一个变量的变量名直接访问变量,要是通过指针访问一个变量则是简介访问

1.指针的定义:
数据类型 * 指针变量名

int a=20;
int * p;
p=&a;//此处&为取址符 

也可以直接写成 int * p=&a;
2.使用指针
可以通过解引用的方式来找到指针指向的内存
指针前加*代表解引用,找到指针指向的内存中的数据
p代表你真的指针指向的内存里面所取得数据(你找到了房子里面的人)
p=1000;(假替身带上皇冠成为了真皇帝)
则a=1000;
3.指针所占的内存空间
C++规定:在32位操作系统(x86)下,指针无论什么类型都占4个字节空间
64位(x64)占8个字节
sizeof(int *)

4.空指针: 指针变量指向内存中编号为0的空间

int * p=NULL;

如果你要int * p=NULL;//空指针用于初始化指针变量 *p=100; 系统会报错,你访问空指针指向的变量并给它赋值的做法是错误的

因为空指针指向的内存是不可访问的
(0~255的内存是被系统占用的)
5.野指针
野指针指向非法的内存空间
这种情况,编译器是不会检测出来的,但是
运行的时候会出现问题。
你在没有变量的情况下,硬生生的访问一个别的地址,就跟你跟房主是陌生人,非得进去人家房子。
意味着指针指向了一个地址是不确定的变量
在这里插入图片描述
空指针和野指针并不是我们所能申请的空间,请不要访问

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值