c语言指针与值,c语言指针的值
dfnjsfkhak
2024-08-24
21
大家 好,今天小编关注到一个 比较 有意思 的话题,就是 关于c语言 指针 与值的问题 ,于是小编就整理了3个相关 介绍 c语言指针与值的解答,让我们 一起看看吧。
c语言指针详细讲解? c语言指针三要素? 如何向计算机小白解释C语言指针? c语言指针详细讲解? C语言中 指针是一种数据 类型 ,指针是存放数据的内存 单元 地址 。
计算机 的内存拥有大量的存储 单元,每个存储单元的大小 为1,为了便于管理 ,必须为每个存储单元编号,该编号就是存储单元的“地址”,每个存储单元拥有一个唯一的地址。
指针变量 除了可以 存放变量的地址外,还可以存放其他数据的地址,例如可以存放数组 和函数 的地址。
c语言指针三要素?   ; c语言指针三要素:数据类型 标识符 。
指针变量的类型、变量的值和变量的地址。
显然,地址就像是要访问存储单元的指示标,在高级 语言中形象的称为指针。
地址就是指针,指针就是地址。
如何向计算 机小白 解释C语言指针? 可以从以下几个方法 去理解指针
1、用数组来解释
指针一般 包括一个地址和地址指向 的内存值,
例如,char ※c="abc",c为地址,是一个占用4个字节是地址,值"abc"就是你只要找到了c的地址,那么就可以对值进行 操作
2、用链表来解释
数组中的值的地址在内存中是有序的,链表是无序的,更加容易说明指针的作用,如图 ,链表中一般包含一个集合 的值和一个指向下一个节点 的指针地址,如果 理解了链表这个 梗,相信指针也没啥难的了
所以,可以从以上2个方面去了解 下,初学者 学指针比较难,没啥技巧,好事多磨,多编码 就会渐渐懂了
可以把指针看成门牌号,指针类型看成房间类型。
比如定义 一个整数 指针 int *p,此时没有 初始化 ,所以指针p不知道指向的哪个 门牌号。此时再申请 一个变量int a =0,说明我们申请到了一个房子,里面装的是整数0,可以用&a获得a的地址,也就是门牌号。这时可以给指针p赋值 ,p=&a,指针p就指向了a的门牌号,里面装的是int 类型的整数0,使用 *p就可以获取指针指向的房间里面关着的值0。
其实指针p也有自己 的房间门派号,所以可以定义一个二重指针,指向整数指针的指针int **pp = &p。也就是pp指向的是p的门牌号,使用*pp可以打开 这间房间获取到里面的内容 ,发现存储的是一个指向a的指针,再使用**p就可以获得a房间装的值0。
C语言指针真的是C语言中的一个难点,难在哪里 ?倒不是因为它的概念难,而是讲清楚、讲明白指针概念的方式很难。英文 中,指针的单词 是pointer,把这个单词翻译成中文 时都翻译的“指针”。“指针”这个词语别说在C语言中的使用了,就是在平时日常生活中我们对“指针”这个词语也不一定熟悉。所以有时候我在想,把pointer翻译成地址是不是会好一点,虽然地址的英文单词是address,但是最起码初学者看到“地址”这个词语要比看到“指针”这个词语好理解。
如何向小白解释C语言指针,那必须得用到一个比喻。有一个指针变量p和一个整型变量a,它们分别住在两个 不同 的房子里。指针变量p的房子叫指针房;整型变量a的房子叫整型房。平日里两者不相往来,互相之间也没有联系。
但是有一天变量a生病了要去医院挂号,但是上班不能请***,咋办?于是就想请变量p去帮忙代办,谁让变量p是个无业游民呢!那么此时变量p就代表 变量a了。那么怎么 把这两者“代表”起来呢?就靠星号 *这个运算符 了,也就是*+p的组合就可以代表a了,这个组合用文字 书写出来就是*p。至于为什么 要用*与p的组合才能代表a?不能直接用p来代表a吗?这个你就别管了,你死记硬背就行了。就像1+1为什么等于 2你会去管吗?
我在“C语言编程 技术 分享”,这个公众号里有一些 C语言的基础 文章,供小伙伴 们参考!
到此,以上就是小编对于c语言指针与值的问题就介绍到这了,希望介绍关于c语言指针与值的3点解答对大家有用 。
标签: 指针
地址
变量
版权声明: 本文来源于网络,不代表本站立场,如转载内容涉及版权等问题,请联系邮箱:83115484@qq.com,我们会予以删除相关文章,保证您的权利。