学到指针啦,试着做一些总结

因为自己也是入门水平,查阅一下资料整理一下,不喜勿喷(狗头保命)。

指针与指针变量
指针变量与指针是不同的,指针变量是储存地址即指针的变量,而指针就是地址,对于32位机来说,内存大小为4GB,而当CPU与内存进行交互时,就要寻址,4GB大小的内存,有2^32个字节,每个字节为一个储存单元,这样就有这么多个储存单元,每一个储存单元都有位子,那么进行排序的时候,是从0到最后一个字节排好的,(0~2的32次方),那么这个时候,就会发现,通过一个4个字节大小的变量就可以完全储存好地址了,所有的地址都可以通过这个变量存储下来的,那么为什么我们在定义的时候,要指出指针变量的类型呢?
因为对于指针变量来说,每次储存某个数据类型的地址的时候,获得的都是它的首地址,而类型对于指针变量来说,就是它可以管理的范围(作用域),从这个首地址为起点,范围是类型的字节大小,比如现在有一个int型指针变量,指向了一个整型变量,那么这个指针获得了这个变量的首地址,他作用的范围是从这个地址开始,后面4个字节大小,也就是控制了整个变量,如果将这个指针类型强制转化为char型的,那么它只能控制后面一个字节大小的范围,对指针变量进行的加减运算,也是基于指针变量的类型的,对整型指针变量加1,就是储存的地址向后加1*sizeof(int)既4,通过这样我们可以找遍各个数组的元素。
指针变量与数组
关于指针变量和数组之间有着一些联系,
比如一维数组名字就是这个数组第一个元素的地址,我们可以将数组名字给指针变量,那么这个指针变量就指向了第一个元素,这样我们可以历遍整个数组
而对于二维数组来说,二维数组的名字也是一个地址,这次不同的是,这个地址是一个一维数组的地址,对于二维数组来说,计算机并不将它看成二维的,它也其实是一个一维数组,只不过是一个一维数组中存的是一堆类似一维数组的整体,比如有一个二维数组a【3】【5】,是一个列为5,行为3的二维数组,但是其实它是一个3个长度为5的一维数组组成的,我们可以把每一个数组看为一个整体变量,这样就有3个变量(一维数组)合成一个一维数组,这个一维数组【3】就是上面的二维数组了,而二维数组的名字有个专业的名字叫做“数组指针”,数组指针:指针变量指向一个数组。那么a+1,a+2就分别指向第二个,第三个一维数组。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值