一、static---静态的
1、修饰局部变量
2、修饰全局变量
3、修饰函数
修饰局部变量
1、声明周期延长:该变量不会随函数结束而结束
2、初始化:知识第一次调用该函数时初始化
3、记忆性:后续调用时,该变量使用前一次函数调用完后所保存到的值
4、存储位置:不会存储在栈上,放在数据段上
修饰全局变量
1、改变当前变量的链接属性,让该变量具有文件作用域,即只能在当前文件中使用。
修饰函数
1、改变该函数的链接属性,让该函数具有文件作用域,即只能在当前文件中使用。
二、define---预处理命令
1、定义标识符常量
2、定义宏
define定义标识符常量
#define MAX 1000
int main()
{
printf("%d\n", MAX);
return 0;
}
define定义宏
#define ADD(X, Y) X+Y
#define ADD1(X, Y) ((X)+(Y))
int main()
{
printf("%d\n", 4*ADD(2, 3));
// 4*2+3 = 11
printf("%d\n", 4*ADD1(2, 3));
// 4*(2+3) = 20
return 0;
}