魏焱明
风马牛不相及?编程语言C | 指鹿为马
2020-10-22 19:57
阅读:7029
标签:成语, 指鹿为马, 计算机, 编程语言

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

编程语言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://wap.sciencenet.cn/blog-2339914-1255379.html?mobile=1

收藏

分享到:

当前推荐数:20
推荐到博客首页
网友评论5 条评论
确定删除指定的回复吗?
确定删除本博文吗?