🚩write in front🚩
🔎大家好,我是謓泽,希望你看完之后,能对你有所帮助,不足请指正!共同学习交流🔎
🏅2021年度博客之星物联网与嵌入式开发TOP5~2021博客之星Top100~阿里云专家博主 & 星级博主~掘金⇿InfoQ~51CTO创作者[新人创作榜No.11]~周榜393﹣总榜1024⇿全网访问量40w+🏅
🆔本文由 謓泽 原创 发布在51CTOP 如需转载还请通知⚠
📝个人主页-謓泽51Ctop的博客📃
🎁欢迎各位→点赞👍 + 收藏⭐️ + 留言📝
📣系列专栏-謓泽51Ctop的分类_51CTO博客🎓
✉️我们并非登上我们所选择的舞台,演出并非我们所选择的剧本📩
💎 概念
指针是C语言的显著的优势之一,其中使用起来是十分的灵活。而且是能够高效率的提高程序的使用,但是,如果使用使用不恰当的话程序是很容易被"挂死"的往往都是错误导致指针造成的。之所以C语言到现在还能够适应时代其中指针是不可或缺的 🎄
那再来说说指针的优缺点吧。
指针的优点→是标识一块内存。电脑内存上的每一个字节都具有一个编号,称为地址(可以简单理解为指针),任何读写内存的指令都必须携带地址信息,否则电脑不知道读写那块内存。不管程序是用什么语言写的,要运行数据和代码必须驻留内存,CPU要执行指令必须有一个"指针"程序计数器指向内存的代码块,如果某个指令要操作内存数据,该指令必须携带额外的地址信息 🌹
指针的缺点→指针可以操作任何东西,所以指针很灵活、很强大,但也引入了复杂性 🎋
🍁 前言
指针!指针!指针!重要的事情说三遍,之所以这样说是因为指针对于我们学习C语言真的是特别特别的重要。可以说会指针和不会指针那就是天壤之别 🤐
你想要成为"C语言大佬"指针就必须玩的起来,这样就是你成为大佬的第一步,相比之前的内容,指针会难上一点,但只要肯下功夫,多多打磨、多去理解、多去上手练习,迟早你就能把指针玩开了 😋
有些初始C语言的小伙伴们,可能一遇到指针就会放弃或者对指针不够重视。千万不能有这样的想法,你想学习C语言到后面的话指针是你一定要跨越的"山峰",当你跨过这段"山峰"的时候到达顶端时候,你就会感慨值了",所以加油,干就完事了 😤
指针是C语言的显著的优势之一,其中使用是十分灵活的而且能提高某些程序的效率,但是如果使用不当则很容易造成系统错误。许多程序"挂死"往往都是错误地使用指针造成的 😱
⚔ 内存
计算机当中所有的数据都是必须要放在内存当中的,不同类型的数据占用的字节数不一样。
如果当我们买回来的计算机当中有 4g 内存或者 8g 内存空间,那么我们因该如何去使用它们呢🤔
解释:内存(空间)的使用跟我们"现实"生活当中有非常相似的地方,在我们"现实"生活当中国土面积总共有960万平方公里,就像是当我们真的是去访问这些内存空间的时候,都给了它们的一个有效的地址。比如:这个时候我们想去找到一个地方,有省,其次市、县、镇、乡这样不同的规划。然后找到你人在哪里,而我们现实生活中市怎么样找到这一块空间的那就是通过地址,而这个地址又是跟我们一个个"房间"是相互关联的。我们是不是跟每一个房间都整理了编号,然后通过地址就可以找到房间⇩
那么其实对于内存也是一样的,内存是一块大的空间,如下流程图所示⇩
当我把内存划分成这样一个长方体的格子之后, 那么其实就是和生活当中的房间是一样我们现实生活当中给每一个房间都编了号。
而我们内存空间也是一样,划分着每一个格子也相应的进行编号。这就是内存空间的管理方式。
🗡 地址与指针
概述:在计算机中,所有的数据都是存放存储器内存当中。一般把存储器中的一个字节称为一个内存占用的内存单元数不等,如整型量占 4 个单元,字符量占 1 个单元等,在前面已有详细的介绍。为了正确地访问这些内存单元,必须为每个内存单元编上号。根据一个内存单元的编号即可准确的找到该内存单元,内存单元的编号也叫做地址。 既然根据内存单元的编号或地址就可以找到所需的内存单元,所以通常也把这个地址称为指针。 内存单元可以用一个通俗的例子来说明 它们之间的 到银行去存取款时, 银行工作人员将根据我们的帐号去找我们的存款单, 取款的金额。在这里,帐号就是存单的指针, 存款数 是存单的内容。对于一个内存单元来说,单元的地址即为指针,其中存放的数据才是该单元 的内容。 语言中,允许用一个变量来存放指针,这种变量称为指针变量。因此,一个指针变量的值就是某个内存单元的地址或称为某内存单元的指针 🤩
Ⅰ地址就是内存区中对每个字节的编号。
Ⅱ指针看作是内存中的一个地址,多数情况下,这个地址是内存中另一个变量的位置。
在程序中定义一个变量,在进行编译的时候就会给改变了在内存当中分配一个地址,通过访问这个地址可以找到所需的变量,这个变量的地址称之为该变量的 "指针"
🍊指针就是用来存储内存变量的当中的地址!①个内存单元 == ①字节 。
🍊地址就是用来通过内存区的编号找到变量,然后再把自己内存区的编号赋值给指针。
从上述的话就可以看出来,为什么也会说其实指针无非就是地址,地址无非就是指针了。