C语言的指针类型
关于指针,想当初开始学的时候感觉非常难,现在回顾一下看了某站视频,我来总结一下。
搞懂指针首先需要理解电脑上的内存的概念。
现在的电脑有32位或者64位的处理器,什么意思呢?就是代表PC有32根或者64根的地址线,一旦上电每根线上可以代表正电或者负电,也就是所谓的逻辑1或者逻辑0。我们想想,拿32位的平台举例,32根地址线可以表达多少种地址,我们可以把地址想象成一个房间,那房间肯定需要有编号,那么32位有多少地址编号呢?
哈哈,我为了打字图方便,不用二进制表示,用16进制代表地址编号,从0×0000000000000000开始一直变化,最后以0×1111111111111111变化结束,这个过程有多少种变化,学过数学我们知道,地址编号有2^32个!!!那么地址与内存啥关系?
空想一下,如果每个地址存放一位(bit)数据,32位的平台能放多少数据呀?大家可以想一想,结合上面我说的,有2^32个地址,大家可以拿起计算机扒拉扒拉就可以算出来换算一下单位就是0.5G,内存就0.5G这么大,哈哈,是不是太小了。所以说这是空想的,正常一个地址可以存一个字节的数据,也就是8bit,那么你们知道32位的平台内存多大吗?
答:8×0.5G=4G
为啥乘8,聪明的大家应该清楚了吧!嘿嘿༄༅
俺的电脑是64位的,8G的内存,相信你们都知道怎么来的吧哈哈!
指针是啥呀,开始进入正题了哦。
指针变量就是储存那些地址编号的哈哈!
哈哈上当了吧
我不讲了睡了🤪!