“这个世界是由各种各样的人组成的,不是吗,神父?”
“确实如此,我的孩子,确实如此。”
——海盗船长托马斯·巴塞洛缪·雷德 对神父说,《加勒比海盗》
一个 C 程序里确实可以有很多东西。
没错。
出于各种原因,如果我们把程序里能找到的东西按类型分类,对我们所有人来说都会更容易理解,这样我们谈论的内容就会更加清晰。
人们常说“变量存储值”。但换个角度来看,变量其实是一个对内存中某些数据进行引用的、可供人类阅读的名字。
这里我们稍微停一下,瞄一眼指针这个“兔子洞”。别担心,不难理解。
你可以把内存想象成一个由字节组成的大数组。数据就存储在这个“数组”里。如果一个数超过了单个字节的容量,它会被存储在多个字节中。因为内存就像数组,所以每个字节都可以通过它的索引进行引用。这个内存中的索引也称为地址(address)、位置(location)或者指针(pointer)。
当你在 C 语言中有一个变量时,这个变量的值存储在内存中的某个地方。毕竟,还能存到哪儿去呢?但直接用数字地址来引用这个值很麻烦,所以我们给它起一个名字,这个名字就是变量。
我之所以讲这些,有两个原因:
所以,变量就是某些存储在内存中具体地址上的数据的名称。
你可以使用范围在 0-9、A-Z、a-z 以及下划线(_)之间的任意字符作为变量名,但需遵守以下规则: