目录
1.作用域和生命周期
局部变量作用域:变量所在的局部范围。({})里面。当变量名相同时,局部优先。
全局变量作用域:整个工程。
局部变量生命周期:局部变量的作用范围。
全局变量的生命周期:整个程序的生命周期。
2.static修饰变量
先改变储存位置。int a = 20,局部变量本来储存在栈区,加了static后就存储到了静态区。
进而改变生命周期,让生命周期变长。
当一个全局变量被static修饰后,它具有内部链接属性,只能在源文件内部使用。
2.1 内存
内存分为三部分
栈区(放局部变量)、堆区(动态内存分配)、静态区(静态局部变量、静态全局变量、全局变量)
3.表达式求值和表达式属性
如:
#include<stdio.h>
int main()
{
int x = 10;
int y =20;
int sum = x + y;
return 0;
}
表达式属性:
- 值属性:决定了计算的结果是多少
- 类型属性:决定了表达式的值能否赋值给其他变量
4. 几个关键字
register //寄存器关键字,起建议的作用
typedef //类别重命名
typedef unsigned uint;
volatile //保证内存的可见性
对num的取值都是去内存里拿。
p //指针 指针是存放地址的(4个或8个字节)
int *p = #
4.1存储方式
寄存器
高级缓存
内存
硬盘
网盘(二级存储)
从上到下存储空间依次增加,但是速度依次减慢,造价越低。