c语言中指针为啥被称为重型武器?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言中指针为啥被称为重型武器?相关的知识,希望对你有一定的参考价值。

高级编程语言一般都是面向对象。
你可以理解为修建建筑的起重机。。。
使用高级语言来开发产品,相当于用起重机直接修造建筑,效率很高,但是也很容易出现起重机忙活了半天就是为了吊一颗螺丝钉上去的情况。
c语言的指针,相当于起重机的工作原理,掌握了工作原理,你自己就可以设计起重机——甚至“起轻机”,这样的话,你可以用你自己做的“起轻机”直接把绣花针运上去了,更能够充分发挥系统的效率。
在硬件受限的情况下,适合系统负荷的软件才能更有效率的工作。
参考技术A 因为指针是可以直接操作内存数据,因而能非常灵活、方便、高效掌控数据,正因为能直接操控内存,操控不好,也容易出现空指针或内存越界导致非法操作,这就好比重型武器,杀伤力强大,搞不好会伤自己。

为啥它被称为“字符串”? [复制]

【中文标题】为啥它被称为“字符串”? [复制]【英文标题】:Why is it called a 'String'? [duplicate]为什么它被称为“字符串”? [复制] 【发布时间】:2011-01-13 18:58:33 【问题描述】:

可能重复:The History Behind the Definition of a ‘String’…

在大多数编程语言中,字符串是一个字符序列。为什么会这样命名?

它被称为字符串的最早实例是 Algol 60(据我所知)。

Douglas Crockford 在他今天的演讲中提出的问题(将在演讲在线时发布)。

【问题讨论】:

一行中的字符就像串上的珠子...... ***:http://en.wikipedia.org/wiki/String_(computer_science) Citation Needed :) 作为一名语言设计师,我希望我能想到更好的东西来命名它。毕竟,它们是数组而不是链表。 完全重复:***.com/questions/880195/… 我想知道为什么当我发布这个问题时从未出现过这个问题。接受的答案来自一个关于 1971 年字典的留言板帖子,没有任何其他参考资料。让我们看看我们是否可以做得更好。 【参考方案1】:

我相信它来自数学理论。集合、语法、语言、字符串等。

【讨论】:

@Jeff Ober:我第一次听说...... 任何参考资料?语法早于 Algol60 吗?我学过纯数学,但我不记得所谓的字符串(除非它们是计算机科学数学课,然后被使用)。【参考方案2】:

字符串是一串字符。这是这个词的常见用法,可以追溯到 1488 年。

字符串(n.)

O.E.来自 P.Gmc 的 streng“线、线、线”。 *strangiz(参见 ON strengr、Dan. streng、M.Du. strenge、Du. streng、OHG strang、Ger. Strang “绳索、绳索”),源自基部 *strang-“绷紧、僵硬”源自 PIE 基部 * strenk-“紧,窄;拉紧,扭曲”(见应变)。由早期的 M.E. 逐渐限制为比绳子还小的线。 1488 年首次记录到“若干物体排列成一条线”的感觉。[...]

http://www.etymonline.com/index.php?term=string

【讨论】:

不过,关于绳索类的要点很好。【参考方案3】:

我猜它来自数学......在数学中,字符串是一系列符号,这也很好地解释了编程语言中字符串的本质。

【讨论】:

以上是关于c语言中指针为啥被称为重型武器?的主要内容,如果未能解决你的问题,请参考以下文章

请教c语言中打印变量的大小被警告是为啥(VS2019/Debug/x64)?

为啥说C语言的精髓是指针?

C语言指针

C语言全排列问题为啥用指针比数组慢很多?

在C语言中能否直接给指针指向的数据赋值?为啥?

C语言中学指针时*和&是相互补充的,为啥啊?