常量
值不可改变的量
整型数字常量:1、2、3、4
实型(浮点型)数字常量:1.34、1.23
字符常量:‘A’ 、 ‘B’
变量
内存中一个具有特定属性的存储单元,用来存放数据。这个存储单元中的数据,就是变量的值,这个值可以在程序运行期间被改变(赋值)
内存空间以字节为单位,每个字节都有自己的地址
变量的定义(声明)
//数据类型 变量名
int value
- C语言标识符(函数名,变量)由字母、数字、下划线、美元符号组成,并且由字母、下划线或美元符号开头
- 标识符不能和C语言关键字、库函数同名
- 命名方式:
- 驼峰命名法: 多个单词连接时首个单词全小写,后面单词首字母大写
- 下划线连接法:多个单词全部小写,单词之间使用下划线连接
//驼峰命名
int studentNickNane
//下划线
int studen_nick_name
变量的作用
- 申请该类型的内存空间,由变量名间接访问这片内存空间
变量的访问
- 从变量中取值(读) 右值
- 通过变量名找到对应的内存地址,从地址中读取数据
- 给变量赋值(写) 左值
- 把数据写入地址对应的存储单元
变量的赋值
- 声明变量的同时进行赋值称为初始化
变量的分类
- 局部变量
- 函数体内定义, 程序运行到函数时才给该变量指定和申请内存空间。作用域就在函数体内
- 代码段执行到函数体外部时,内存就会被释放
- 函数体内定义, 程序运行到函数时才给该变量指定和申请内存空间。作用域就在函数体内
- 全局变量
- 函数体外定义,程序运行时就给该变量申请内存空间
- 变量引用就近原则
- 不同作用域下的同名变量,访问同名变量时,向上寻找离哪个作用域最近,变量就访问谁
- 值
- 局部变量如果不赋值,取随机值
- 全局变量如果不赋值,取0为值
- 优缺点
- 全局变量在所有的函数内都可以访问,内存空间直到程序结束才会释放
- 局部变量仅在函数内部使用,在栈空间申请,函数返回时就会释放内存
//extern 表示该变量声明在其他外部文件中
extern int score
//编译多个C文件 gcc *.c -o demo
//当前目录下所有的.C文件编译到demo文件中
{//小作用域块
printf();
int value = 31;
}
Comments NOTHING