常量:
固定的数据
四类:整型 浮点型(单精度和双精度) 字符型 字符串型
字符型常量:不能是中文,单引号引起来的
字符串型常量:双引号引起来的
变量:
表示一个需要经常改变或者不确定的数据
特点:
1. 创建了一个变量相当于在内存中占用了一片空间
2. 空间的大小是固定的,但里面的数据可以改变
3.同一个作用域内不能有相同的变量名.在不同作用域内没有问题
4.初始化时创建,在函数作用域执行完后失效,且内存空间释放.
作用域:
作用域可以嵌套作用域
1.不同函数属于平行作用域,作用域没有干扰.
2.同一个函数下的作用域可以有多个.
嵌套作用域:子作用域内部创建变量跟外部没有关系,但是可以用外部的变量(就近原则).
3.子作用域定义的变量只在本作用域内有效,在父作用域内是用不了的.
优点:灵活控制内存
变量内存分析
1.内存基本单位是字节.
2.变量内存分配与赋值与否没有关系
3.不同类型的数据变量在不同编译环境下的占用内存空间大小是不一样的.
16位编译器 | 32位编译器 | 64位编译器 | |
char | 1 | 1 | 1 |
int | 2 | 4 | 4 |
float | 4 | 4 | 4 |
double | 8 | 8 | 8 |
4.当前环境占用内存字节数sizeof(数据类型),打印占位用lu
5.内存由地址从大到小寻址,优先分配内存地址较大的字节给变量
6.在变量未经初始化赋值之前,不要使用变量的值.