指针(初阶1)

一.指针是什么

通俗的讲,指针就是地址,其存在的意义就像宾馆房间的序号一样是为了更好的管理空间。

如下图:

如上图所示,指针就是指向内存中的一块空间,也就相当于地址

二.一个指针的大小是多少

之前我们学习过,如何使用 sizeof 去计算类型所占空间的字节大小,所以接下来尝试使用该“关键字”计算各种类型指针所占空间大小

   这里定义了三个不同类(分别是Int char float)但为什么计算出的结果都是 4 呢?

   之前我们学习的时候(char是1个字节,int是四个字节)但这里为什么没有区别?

其实,无论什么类型的指针,他所占的空间大小是由计算机来决定的(32位计算机是四个字节,64是八个字节!)那么问题来了,既然所占空间的字节大小都一样,那么为什么还要区分类别?有什么意义?接下来让我们继续探讨这个问题

三.指针类型

意义:

(1)决定了指针“解引用”的权限有多大

   解引用:指定义了一个指针变量之后对其进行解引用的操作,等同于将其变为一个普通的变量。具体操作如下:

int a = 10;
int* pa = &a;
*pa = 20;//次数就是指针解引用的操作,此时的*pa就相当于一个普通的int型的变量

上述代码就是“解引用”

        权限的大小也就是指针访问空间的大小,比如 int 型可以访问四个字节,char 型可以访问一个字节

(2)决定了指针的“步长”

   也就是指针走一步可以走多长,比如 int 类型的指针一次可以走四个字节,char 一次可以走一个字节

为了更好的理解上图,请看下图:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值