1.变量
现实生活中发生变化的值(身高,年龄等等)
可以修饰的有:char(一个字节)
int(4个字节)
short(2个字节)
long(4个字节)
float(4个字节)
double(8个字节)
我们叫数据类型,其中求字节的大小用sizeof()。
2.常量
生活中不变的值称为常量
分类:
1. const定义的常量
当const修饰一个标识符时,这个标识符依然是个变量,但不能被改变
在c++中它修饰的标识符就是常量
2. #define定义的标识符常量
3.枚举常量enum
3.变量的命名规则
以下划线和字母开头
c的关键字 :auto break case char const continue dafault(默认) do double else enum extern float
for goto if int long return short signed sizeof static struct switch union unsigned void while
register (寄存器关键字,建议的作用,有编译器判断)
寄存器(ebp eax eax ecx edx esp ) cpu从它提取 逐级递减
高级缓冲
(局部性原理) 内存 也可从它直接提取
硬盘
网盘
typedef(类型重命名)
volatile(对内存优化,去寄存器,num的取值都是去内存中拿,)
例子 int main ()
{
volatile const int num=10;
int *p=(int*)#
*p=20;
printf("%d",num);
system("pause");
}
extern (可以调用全局变量)
4.全局变量与局部变量
局部变量(变量出现在局部范围即代码块内部)
作用域(局部使用优先)
生命周期 局部范围内
全局变量(变量出现在代码块外)
作用域
生命周期 (整个程序内)
static修饰的变量
1.static (静态的)
内存
局部变量 栈区(可销毁的)
malloc
calloc 动态内存分配 堆区
realloc
free
static 静态局部变量 静态区
静态全局变量 (先改链接属性,作用域改变)
全局变量