千瓦厚能源与生态实验室分享 http://blog.sciencenet.cn/u/kiwaho 太阳文火炖地球,洒遍人间光和热。新鲜的能量随手可汲,何必舍近求远挖地球?自由能源万岁!

博文

风马牛不相及?编程语言C | 指鹿为马

已有 7884 次阅读 2020-10-22 19:57 |系统分类:教学心得| 成语, 指鹿为马, 计算机, 编程语言

金秋十月,吹点科技浪漫主义的文学之风,以活跃科学网的气氛。

编程语言C,是美国计算机科学家Dennis Ritchie发明的,常用于底层代码编写,仅比汇编语言ASM略显高级一些。家喻户晓的微软Windows操作系统,最初就是用C语言编写的。

C语言码农们都知道,他们经常不得不“指鹿为马”。

这话怎讲?请看下面两行代码片段:

double var = 1.0;
printf("ASCII value of 2nd byte in memory= %c\n", (char *)&var[1]);

咋的?明明是指向8字节长的浮点数,我偏偏要指鹿为马,说它是指向单字节流的指针,甚至可根据需要,随时随意cast成任何数据类型。

动机很简单,计算机的内存管理与数据结构很琐碎,用太高级的语言操作,真的很费机时,效率也低。

指针是C语言最核心的概念,内存寻址都要用到指针操作,CPU处理指针的算术偏移,效率比所有其它操作都高。

反正内存里都是数据,怎么解释怎么方便,是躺赢的不二法则。

另一厢,“指鹿为马”恰是中国古代的经典成语之一,乃心高气傲者的霸气侧漏;当权者最喜欢故意指鹿为马,常用于测试谁是忠心耿耿的追随者。 

不服? 放马过来,我把它当鹿打趴,哈哈!

指鹿为马?呵呵,川普只不过套用了C/C++码农的风格。看样子连任稳了

两厢都说清楚,大家就领悟了:“C语言”与“指鹿为马”,原来并不是那么风马牛不相及嘛!

最后留道语文课后作业:

成语“风马牛不相及”的正解为何?

欢迎有兴致者在评论区交作业。


参考文献:

1、致敬先辈:伟大的C语言之父——丹尼斯·里奇

2、指鹿为马的历史人物,指鹿为马故事主人公是谁?

3、你知道“风马牛不相及”的“风”是什么意思吗?





https://blog.sciencenet.cn/blog-2339914-1255379.html

上一篇:Do it home to save life from drowning of coronavirus
下一篇:区块链新用途,邮局的新专利刚公示:一款反选票舞弊的利器
收藏 IP: 104.160.192.*| 热度|

21 尤明庆 刘炜 张晓良 赵美娣 檀成龙 许培扬 孟佳 李毅伟 晏成和 李颖业 王安良 谢力 代恒伟 杨学祥 朱晓刚 杜占池 宁利中 张利华 谢钢 刘跃 xqhuang

该博文允许注册用户评论 请点击登录 评论 (5 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-11-22 06:12

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部