小鲁客栈---预告篇

介绍

准大四学生仔,目前深圳“人上人”,一个试图用最通俗易懂的例子讲解自己所理解知识的打工人。目前暂定的是半年时间的沉淀也就是说只连载半年的时间,主要记录并分享自己日常沉淀的知识,目前包含C/C++、QT、嵌入式软件GUI设计思想。可能有人会问为什么是半年,因为目前的实习时间是半年,然后如果中间因为各种原因被辞退了那可能也会终止连载。。。

目的

一方面呢是因为有一个自己的个人博客比较好找工作毕竟算是一个加分项;另一方面就是自己确实是有在沉淀一些东西,有真正的静下心来去研究一些东西,或许在一些技术大牛眼里不算什么。。。但是我认为的真正的学会不是自己理解,而是可以给别人讲明白,所以有了现在的博客连载。

试讲

现在呢是一个c语言的*a和&a的一个典型问题的讲解,下面的讲解风格就是后面的连载博客里的风格。如果下面的风格接受不了后面的博客就没必要看了。。。

对于C语言的*和&可能很多人都知道 *a表示一个指针;&a表示a的地址;那这个时候可以动手运行一下,下面的代码:
int a=10;
int *b=&a;
printf("&d\n",&a);
printf("&d\n",*b)
看完输出结果后,足够了解的可能没有什么感觉,但是没有足够了解的可能就陷入疑惑了,两个的结果为什么并不相同。
首先我们要明白变量的a的本质,他是一个存储单元,存储单元他既是本身去作为一个容器去存储某些东西也有着独属于自己的标识,这里的某些东西被称为数据,标识被称为地址。也就是说a既可以是一个地址也可以是一个数据,那么访问的时候怎么确定访问得到的结果是什么?这里就涉及到了C语言的规定,在C语言中规定a表示数据、&a表示地址。
那么接下来再看 * a,这里表示的是存储的a中的存储的地址对应的存储单元数据,大致意思就是说:我给警察举报通缉犯的现在居住地址是某某公寓805房,这里我举报给警察地点就相当于 * a,我告诉了警察地址,但是警察要抓的是地址的房子吗?并不是,要抓的是地址里的人。
然后我们在看上面的代码段, * b=&a,这里拿到的是a的地址,最后输出 * b时要输出的是a的内容而不是a的地址,就像是警察抓人,要抓的是人而不是地址所代表的房子。所以最终的printf(“&d\n”,&a)输出的是一个a地址,而printf(“&d\n”,*b);输出的是a的内容。

最后

如果感觉上面的试讲有听懂并且感兴趣的话也想要,希望可以动动小手点个关注,后续出了博客也可以多多关注,感谢。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

无情翻译官

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值