思考——关于动、静与时间
最近想写一个命令行下的小工具,打算用C,但以前一点点C知识让人头大。再次让真学习,并在不少帮助下解答了我不少对于C的疑问。
而,以下则是我个人一些无聊的思考,不关于存在的理由,记录于此,一切只是一个思考的过程。
有着两种东西data与action,它们的创造者为造物主。
data是一切静止的存在,在它的世界里是action的操作对象,是一切存在的构成物,包括描述操作。
action是一切动态的存在,在它的世界里,操作着data,提供data存在的理由。
而这一切的基石,我们可称之为宇宙。
在计算机世界,最基本的data是0与1,最基本的操作是与或非,有着自身的造物主。
同样有着data,构成一切存在,包括描述action。
同样有着action,操作这一切data。
而这一切的基石,是构成"0,1"data及"与或非"操作的计算机世界,基于宇宙。
在C语言世界里,也有着自身的data及操作。
data通过一些特性,比如Type, Data Type, Storage Class等,表明了它们在这个世界里,该如何或如何才可以被操作。通过这些及各种组合,可被分为各种类别。
action也有着自身的特性,比如如何衍生数据,改变数据,创造数据,消灭数据等等。通过这些及各种组合,可以分为各种类别。
而这一切的基石,则是人类创造的C语法,基于计算机世界,基于宇宙。
以下是基于C的一些关于计算机世界的思考: (一切只是思考而已)
对于计算机世界中Data思考:
- 基于0,1
- 有描述data的data,如int, char等data type, 也有constant, volatile, restrict等限定符。
- 也有描述操作的data,如expression, statement, function等。
对于计算机中的action的思考:
- 基于与或非
- 描述于data,用于操作data。
对于C中Data的Stroage Class的三个属性
data指上面的data。
链接是指,我可以拿到这个东西存在的地址,这样我找到它,就可以获得它,改变它或者让它来操作。
不过,链接之前需要知道这个东西是什么样的,不然你知道了地址,但你对其一无所知,也无法继续操作,也就是链接前需要声明。
- Scope: 为链接可见范围,file scope或block scope, 是由位置决定,不需要人为的操作。
- Linkage: 控制链接可见范围的属性,可有认为控制。分为external, internal, none linkage.
- external: 可被文件外链接,为file scope data的默认,即可被file scope外链接.
- internal: 只被文件内链接,使用static对file scope data,限制只能被内部范围file scope内链接。
- none: block scope的linkage, 即不改变其链接可见范围,只能被自身范围内链接。
- C中file scope data的linkage不能为none,因为其必须对文件内block scope链接可见。
- external: 可被文件外链接,为file scope data的默认,即可被file scope外链接.
- Duration: data的存活时间的属性,由static与auto两种。
- Static: 创造后,直到程序结束,file scope data的默认且不可改变(因此,可以使用static去改变Linkage),block scope data使用static改变其存活时间。
- auto: block scope data的默认,使用static改变。
无论data还是action都是起造物主创造的世界里的存在,相辅相成的,不可分离。
至于data与action能够一直衍生下去,这是造物主的意志,万物的真理。
而人类,这种似乎显得很量子的存在,大概就是一切未知的源泉。
所以一切,不如信仰生命,相信人类自身为好。
---
P.S. 只是思考,及其记述,尽可能地用语言地。
P.S. 未完。