本期博客,将开始带领大家学习C语言指针这一篇章,学习C语言的都应该清楚,指针在C语言语法中,占着绝大部分。C编程的方方面面都离不开指针。相信各位通过这篇博客的学习,将对C指针的理解与掌握不成问题。
学完指针之后,可以去学习其相关应用:C语言:再探C语言指针-优快云博客,若博客对大家的学习有所帮助,还请点赞与支持❤❤❤。
一、初始指针
1.内存与地址
- CPU(中央处理器),需要向内存读取数据,处理完数据后,还需要将数据放回到内存中,那CPU是如何从内存找到他自己想要的数据呢?
- 现实中,我们去向宾馆申请一间房间,前台的服务人员,会给我们找出一间闲置的空间供给我们使用,并返回给我们一个房卡。那她是如何快速的找到一间闲置的空间呢?那是因为每一间闲置的空间都有编号。当我们不用的时候,她们就会收回这间屋子的使用权。
- 我们将CPU抽象为前台服务人员,把内存抽象为宾馆的房子,把CPU读取数据抽象为去宾馆申请房子,把CPU返回数据抽象为收回这间屋子的使用权......
- 我们就可以推断出,内存也被划分了很多个内存单元,每一个内存单元有自己的专属编码
- 结论:内存被划分为很多个大小为一个字节的内存单元,每一个内存单元都有相对应的内存编码,内存编码又叫做地址。CPU处理数据的时候,则是根据地址去找到所需的数据。
2.指针变量与地址
- 有时候,我们自己要处理数据的时候,也必不可少要用到地址,所以C语言允许我们获得变量的地址,并使用地址,或者通过地址找到该数据,进行使用。
- C语言规定了一个指针变量,专门用来存储数据地址,并且有两个操作符(取地址操作符&,解引用操作符*)。
- 下面是其简单的使用:

- 结论:内存单元编码 == 地址 == 指针
3.指针类型的刨析
i.指针的理解
-
(type) * p;
- p ->p是一个变量
- * ->变量p前面的(*),说明它是一个指针类型的变量
- type->说明了指针变量p,所指向对象的类型

ii.指针在空间的大小
- 了解过音乐的都知道,音乐有这几个音阶(do、re、mi、fa、sol、la、si),在钢琴制作的时候,也没有把哪个键标记下音阶,那演奏家是如何找到音阶的吗?那是因为音阶的分布是被死规定过的,且是公认的,无论哪几种钢琴,它的音阶

最低0.47元/天 解锁文章
3万+





