C语言入门学习笔记第六章:常量和变量
大家好,我是小智!
内存是一块连续的空间,并且内存中的每个存储单元(8bit)都有对应的编号,并且编号是固定的,对于存储单元的编号,一般称为存储单元的地址,用户可以直接通过存储单元的地址来对存储单元进行读写访问,但是一般情况下用户是不会直接通过地址来访问,因为访问效率太低。
C语言标准规定:用户有权利从内存中申请一块存储单元,并且用户可以对存储单元进行命名,要求用户提前说明申请的存储单元(单位以字节来计算)的大小,这样linux内核才会从内存中寻找一块合适的空间,并把这块空间的地址反馈给用户。

用户可以对linux内核提供的存储单元进行命名,然后linux内核会把用户的命名和存储单元的地址建立一个映射关系,这样用户就可以通过存储单元的名称来访问存储单元。
提出问题
- 既然用户可以对申请的存储单元进行命名,那请问用户是可以随意命名还是遵循规则?
回答:C语言标准中规定根据数据在程序运行期间的值是否发生变化,可以存储单元分为两种:常量 or 变量 。

常量
常量指的是在程序运行期间值不会发生改变的量,一般使用的数字,比如3.14用来表示圆周率,一般情况下,用户都是用通过宏定义的方式来实现常量的设计,宏定义其实就是简单的文本替换,在预处理阶段预处理器会把程序中的宏定义进行展开。C语言中规定宏定义使用预处理指令 #define 来进行设计。
变量
变量指的是在程序运行期间值可能发生变化的量,用户可以根据实际需要来向kernel申请一块存储单元,并对这块存储单元进行命名,然后用户可以随时修改存储单元中的数据。申请的存储单元的大小可以通过C语言中的数据类型进行指定。
命名规则
变量和常量也被称为标识符,对于标识符的命名必须遵循规则:标识符是由字母、数字、下划线以及美元符号$组成,并且标识符的第一个字符只能是字母或者下划线。举例如下:
123m(错误) m123 _m123 _123 _12m M12a_ m12a_ INT Main
注意:为了防止
二义性出现,C语言标准规定不可以把系统保留字,以及程序中已经存在的函数名称、以及用户已经定义出来的标识符名称作为新的标识符名称(同一个作用域内不能)。
另外:C语言的标识符是区分大小写,并且作为用户而言,标识符的命名应该是有意义的!!!

浙公网安备 33010602011771号