为了更好的解释指针,在这里我们首先弄清楚一些概念
大家都知道,我们日常生活中所用的电流分为两种:直流电和交流电
而直流电普遍用于电池,我们其他的电器(只要需要插头充电的)几乎都是需要交流电,交流电分为正电和负电
我们的电脑亦如此,因此聪明的科学家想到这点,使电脑用二进制编程,0代表负电,1代表正电.不同的正负电组合(不同的二进制排序)可以带来和储存不同信息,即我们经常听到的电信息, 而只用来存储0和1这种信息的一个空间就是一个比特位
1 byte = 8 bit
1 KB = 1024 byte
1 MB = 1024 KB
1 GB = 1024 MB
我们国家有960万平方公里,而这么大一个地方想要具体到某个地方进行查找,肯定需要给每个地方赋予独一无二的称号(地址),比如四川省达州市XX广场XX公寓XX号, 而我们的电脑存储数据也是这样,给一个大地方划分区域,然后编号.就是地址
买电脑时候,会看到内存大小,比如4G 8G 16G(相当于中国的国土面积),
这里我们给定一个空间,然后将其划分为最基本的小单元,那么什么是该空间数据的最小存储单元呢?以机器32位为例:
是bin吗?
如果是bin,那么 2^32 = 4294967296 = 536870912 Byte = 524,288 Kb = 512 MB = 0.5 GB
计算看到,如果以bin为最小存储单元,那么最大占用才0.5GB,即使有4GB 8GB 16GB空间也是浪费.
所以不是.
是byte吗?
如果是Byte的话就是0.5GB * 8 = 4GB,那么就差不多了.
所以就是说数据的最小存储单位是Byte(字节)
图例:

那么,指针是什么呢???如图所示,指针就是该编号(也就是内存地址)
而用来存储指针的变量称为指针变量
代码示例:
使用图来解释上述的运行过程:.

原文:https://www.cnblogs.com/lytdw123/p/14401020.html