快好知 kuaihz

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

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

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

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

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

double var = 1.0;

printf("ASCII value of 2nd byte in memory= %cn", (char *)&var[1]);

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

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

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

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

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

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

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

最后留道语文课后作业:

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

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

参考文献:

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

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

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

本站资源来自互联网,仅供学习,如有侵权,请通知删除,敬请谅解!
搜索建议:指鹿为马  指鹿为马词条  风马牛不相及  风马牛不相及词条  编程语言  编程语言词条  
观点

 如何使用Altmetrics:给...

量化科学研究的影响力从来就没有一个精确的方法。怎么才能多少有点准确地衡量讨论、提及次数和社交媒体互动呢?高影响因子可能表明一项研究有着广泛的受众,但是无法完全确...(展开)

观点

 《中药生物技术》教学BTTCM1...

中药作用机理一,概述“湿证”,青春痘,水痘,雀斑,痱子,疹子;肥胖高血压,烟,酒【饭后一支烟赛似活神仙;小酌怡情,对饮成三人】【白酒,黄酒,红酒,啤酒】【花椒,...(展开)

观点

 【一日一析:谁是谁同桌?】

白:“同桌偷了张三一块橡皮给我。”“张三偷了同桌一块橡皮给我。”谁是谁同桌?“同桌偷了张三一块橡皮给李四。”这个能说不?如果能,谁是谁同桌?“张三逼同桌骂了李四...(展开)