C语言——指针

这里来和大家初步谈一下指针,要说指针,那么就必须了解内存。

内存是电脑上特别重要的存储器,计算机程序的运行都是在内存中进行的。

所以为了有效的使用内存,就把内存划分成了一个个小的内存单元,每个内存单元的大小都是一个字节。为了能够有效的访问到内存的每个单元,就给内存单元进行了编号,这些编号被称为该内存单元的地址。

指针其实就是用来管理内存的,那么为什么这么规定呢?我们可以想象一下,在我们的生活中其实也是一样的,像我们住的楼一样,有了编号,那么我们就能够快速找到房间,

就比如下面:

 我们为了充分利用空间,所以将空间划分为一个个格子,这就是内存单元,并且对其编号(也就是地址)

那么一个内存单元多大比较合适呢?就我们已知的空间大小就有bit、Byte、Kb、Mb、Gb、Tb、Pb,如果我们使用bit当做一个内存单元的话,我们存放一个char类型的变量时,就会有八个地址,这样就会太详细了,但是如果我们使用kb的话,1kb=1024byte,还是存放char的话就只需要8个byte,就会浪费空间。

那么我们划分了空间之后,还需要给定地址,不然我们没有办法找到他,那么地址是如何产生的呢?在计算机上,有地址线,物理的电线,电线要通电,一旦通电之后,就会产生电信号,由通电的电线产生的高低电频转换成数字信号,也就是1/0

比如说我们在32位的电脑上,有32根地址线,一根地址线上产生的信号无非就是0/1,那么32根地址线所产生的就有如下可能:

而产生的这些可能就可以用来管理内存空间,,也就是2的32次方个空间 ,一个空间一个字节,当我们换算一下也就是4G大小,也就是说我们可以管理4G的空间。

那么我们如何获取地址呢,我们可以使用取地址符号&

 

我们把内存单元代表其地址的编号就叫做指针

这里扩展一个小知识,指针变量,也就是存放指针的变量。

 那么这个指针变量有什么用呢?

我们可以使用一种方法,利用指针变量完成赋值操作,这是为了在我们有特殊情景,无法使用正常赋值操作时使用。

那么怎么获取指针变量呢

int*pa=&a;

这里的意思就是获取a的地址,将其赋值给pa

最后,我们可以使用解引用操作符,进行赋值

 

 那么到这里指针的学习就完成了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值