------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
static 和 extern
/*
static 和 extern 是c语言的两个关键字
static 修饰的变量或者函数,是静态变量(内部,只能在当前文件中使用)
extern 修饰的变量或者函数,是外部的(可以在其他文件中使用)
修饰局部变量
1 static 修饰局部变量
作用: 1> 可以延长局部变量的生命周期
2> static 修饰的变量,只能被初始化一次(第一次初始化,以后都不初始化)
3> 当一个函数被调用多次的时候,利用static,可以保存函数上一次运行的结果
2 extern 不能修饰局部变量
修饰全局变量
1 static 修饰全局变量:
1> 用static修饰的全局变量,在它所在的函数中可以使用
2> 用static修饰的全局变量,只能在它所在的文件中使用
statci 修饰函数:表示这个函数是一个内部函数
1> static可以修饰函数,但是不能再其他文件中调用
extern 修饰函数:表示该函数可以在其他文件使用 ...默认的
*/
#include <stdio.h>
void test(){
//调用test.c文件中得函数
testStatic();
//不能使用test.c中定义的静态全局变量
printf("num = %d\n",num);
}
//extern 声明一个全局变量a,
extern int a;
void aaaa(){
printf("------>test.c中a = %d\n",a);
}
int main(int argc, const char * argv[]) {
//extern 修饰的全局变量,可以在它所在的文件中使用
testExtern();
//在test.c中用extern声明的变量,可以在另外一个文件中使用
//注意:
//声明变量的时候,extern可以省略
//全局变量,可以不用再.h中声明,但是在使用之前,需要声明
//extern int a;表示此处a在其他文件中已经定义了
printf("--->test.c中得a = %d\n",a);
aaaa();
return 0;
}