static:修饰全局变量,局部变量,函数。
修饰局部变量:改变局部变量的生命周期,本质上是改变了变量的存储类型。
修饰全局变量:使得这个变量只能在自己的源文件(.c)里面使用,其他源文件不能使用。
全局变量在其他源文件内可以被使用的原因是因为全局变量有外部链接属性,但是被static修饰后,外部链接属性消失变成内部链接属性,其他原文件就不能链接到这个静态的全局变量。
修饰函数:是的函数只能在自己的源文件内部使用,不能在其他源文件内部使用。本质和static修饰的全局变量一样。
#define定义的常量和宏
定义的宏不能把它看成一个常量,他是可以改变的,他是有参数的
ps:
#define _CRT_SECURE_NO_WARNINGS 1
#include
#define add(a,b) ((a)+(b))
int main()
{
printf("%dn",5*add(2 ,3));
return 0;
}
extern:指定为外部变量在外部定义变量是要使用extern来定义。
typedef:可以把类型重命名从定义,是复杂的类型变简单。



