C++ 指针

1、所占内存空间

指针所占内存空间根据操作系统的位数决定。32位操作系统,指针所占内存空间为4个字节;64位操作系统,指针所占内存空间位8位。

以32位操作系统为例,32位操作系统表示,每次处理的数据为32位。CPU在进行寻址操作的时候,内存地址也是32位,因此内存空间最多4G。指针就是为了寻址,它寻址的空间也最多是4g,因此其所占的内存空间也是32位。

2、空指针

指针指向地址为0的内存

0-255是系统预留空间,无法访问,因此无法对空指针进行读写

int * p = NULL;

3、野指针

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

int * p = (int *)0x1100;

4、const修饰指针

  • const 修饰指针——常量指针
    • 在指针前面加const:   const int *p = &a(p可以变,*p不能变)
    • 指针的指向可以修改,但是指针指向的值不可以修改,即p可以指向其他变量,但是被指向的变量值a的值不能修改。
  • const修饰常量——指针常量
    • int * const p = &a;(p不能变,*p可以变)
    • 指针的指向不可以修改,但是指针指向的值可以修改。即p不能指向其他变量,但是被指向的变量值a可以修改
  • const即修饰指针又修饰常量
    • const int * const p = &a;(p不能变,*p不能变)
    • 指针的指向和指针指向的值都不可以变
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值