一、全局变量
1.全局变量:定义在函数外的变量
(1)普通全局变量 int g_a;
(2)静态全局变量 static int g_a;
2.如何引用全局变量?
//引用全局变量加extern
(1)extern int g_b;
(2)extern int Min(int a,int b);
二、局部变量
1.局部变量:在函数内部定义的变量,包含形参
(1)普通局部变量
(2)静态局部变量 很少用,但常考
void Fun()
{
static int a = 0; //考试的重点
++a;
printf("%d\n",a);
}
三、函数
(1)普通函数
(2)静态函数 用static修饰,使用得多
(3)static:修饰链接属性;const:定义常变量
变量名 |
生命周期
| 作用域 | 默认值 | 内存区域 | 链接属性 |
普通全局变量 | 程序运行开始创建,
程序退出才销毁
|
从定义开始一直到
本文件的结束都能使用
| 0 | 全局变量区 | 外部(其它文件也能用) |
静态全局变量 | 同上 | 同上 | 0 | 全局变量区 | 内部(只能在本文件使用) |
普通局部变量 |
进入函数时创建,
函数退出则销毁
| 只在本函数内部有效 | 随机值 | 栈 | 无 |
静态局部变量 |
第一次进入函数时创建,
直到程序结束时销毁
| × | 0 | 全局变量区 | 无 |
动态变量 | malloc创建,free释放 | × | 随机值 | 堆 | 无 |
函数 | 无 | 无 | 无 | 代码段 |
普通函数:外部
静态函数:内部
|