一、C中变量的定义
- 变量的本质是存储单元。
- C中所有变量在使用之前必须先定义。
- 变量的定义
变量类型 变量名列表;
(1)变量类型必须是有效的C数据类型,变量名列表由一个或多个标识符名称组成,多个标识符之间用逗号分隔。
(2)变量在声明的同时可被初始化:
变量类型 变量名 = 初始值;
二、C中变量的声明
变量声明向编译器保证变量以指定的类型和名称存在,这样编译器在不需要知道变量完整细节的情况下也能进一步编译。变量声明只在编译时有它的意义,在程序连接时编译器需要实际的变量声明。变量声明有两种情况:
(1)需要建立存储空间的,如 int b;在声明变量b的时候已经建立了存储空间。
(2)不需要建立存储空间的。使用extern关键字声明变量而不定义它。例如 exterrn int b;其中变量b可以在别的文件中定义。
(3)除非有关键字extern,否则都是变量的定义。
三、左值与右值
C中有两种类型的表达式:
1. 左值:指向内存位置的表达式被称为左值表达式。左值可以出现在赋值号的左边或右边。
2.右值:右值指的是存储在内存中某些地址的数值。右值可以出现在赋值号的右边,但不能出现在赋值号的左边。
赋值运算符的左操作数是一个表达式,但该表达式必须是一个左值。变量是左值,因此它可以出现在赋值表达式的左边,数值型的字面值是右值,因此不能被赋值,不能出现在赋值号的左边,如 10 = 20;不是有效语句,会生成编译时错误。