登录  | 立即注册

游客您好!登录后享受更多精彩

扫一扫,访问微社区

QQ登录

只需一步,快速开始

开启左侧

[寒假笔记] C语言指针&*的关系

[复制链接]
发表于 2023-1-2 22:04:31 | 显示全部楼层 |阅读模式
学习笔记
学习科目: C语言
学习安排: 单片机,C语言
开始时间: 2023-01-02
结束时间: 2023-01-02
本帖最后由 自动化2211孔磊 于 2023-1-3 20:35 编辑
关于指针&、*关系的一些想法


今天膜拜王宇涵大佬的帖子,有了一些灵感,

在"  把“*”“&”玩出花 "中说不能多次使用&,

结合着我的草稿产生了一些灵感,具体如下:



"原贴"
屏幕截图_20230102_212728.png




以下是我的实验


屏幕截图_20230102_213636.png

以下是我的草稿(请忽略字丑)

1672666728586.jpg

具体就是一个大致的规律:

*p的等级是最大的,p居中,&p则是等级最小的

(具体的原因是p是地址变量,*p为访问它的地址,&p则为地址变量的地址。。。。拒绝套娃

那么搞半天  *&p是啥意思呢?

我认为是“访问      (地址变量)p的地址    ”

        *                    &p         

这时候不要迷,      访 问 p 的 地 址         结果是啥?

                       我说                                 *&p                  =p                  

那么这个时候就出现了俄罗斯套娃了

*&  *&  *&  *&  *&  *&  *&  *&   P  ==  P

所以就出现了这中嵌套的写法

屏幕截图_20230102_215544.png


附上原贴链接:[总结贴][C语言]如何把指针玩出花[Part.2]

http://bbs.hpuedd.com/forum.php?mod=viewthread&tid=2905&fromuid=1721

(出处: 电开社区)







当然了,疑惑的根源可能就在代码里面

为什么当初int  *p=&i                    

那现在是*p=i,p=&i,为啥不是对照的呢?

其实还是基础没有打牢,我们为了好理解就这样写
int*  p=&i
int*理解成一种新的数据类型,他所定义的变量称为指针变量。

但int是一种整数类型

那么int*所定义的就是上文的地址变量,(也可以理解为指针)

屏幕截图_20230102_222333.png


屏幕截图_20230102_222311.png

总结:上文所指 地址变量 指针




好懒~~不想说~~~
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表