#include <stdio.h>
#include <stdlib.h>
int value1 = 100; //文件作用域、外部链接、静态存储期
int static value2 = 99; //文件作用域(仅限翻译单元)、内部链接、静态存储期
void isOk();
void isOk1();
int main()
{
auto int value3 = 100; //块作用域、无连接、自动存储期 也叫自动变量、局部变量 auto可以不加
extern int value1; //引用式声明,本函数内要使用外部变量value1
static int value4 = 98; //块作用域、无连接、静态存储期 严格意义上他不属于该函数,他在加载本函数之前就完成了初始化,默认值为0
register int value5 = 666; //块作用域、无连接、自动存储期 不存储在内存中,而是存储在寄存器中,所以找不到该变量的内存地址
isOk();
isOk();
isOk();
isOk();
isOk1();
return 0;
}
void isOk()
{
int static cnt;
cnt++;
printf("idOk()函数被调用了%d次\n", cnt );
}
//文件二
#include <stdio.h>
#include <stdlib.h>
void isOk1()
{
extern int value1; //引入式声明,调用其他文件的变量
//extern int value2;
printf("isOk1()被调用了,hello.c的value1:%d\n" , value1);
//printf("isOk1()被调用了,hello.c的value2:%d\n" , value2);
}