黑马程序员技术交流社区
标题:
static 和 extern 修饰局部变量
[打印本页]
作者:
1115302782
时间:
2015-7-5 22:32
标题:
static 和 extern 修饰局部变量
static修饰的变量 只有你的包含那个变量定义的源代码文件可以访问(内部的变量)
extern定义的变量的哪个源文件都可以访问 只要声明了就可以(外部变量)
一. static 对局部变量的作用
1 延长了局部变量的生命周期,从程序启动到程序退出,但它并没有改变变量的作用域。
2 static定义变量的语句只会执行一次。
加static之前
void add(){
int a = 10;
a++;
printf(“a++:%d\n”,a);
}
int main(int argc,const ch[]){
add(); //0
add(); //0
add(); //0
return 0;
}
加static之后
void add(){
int a = 10;
a++;
printf(“a++:%d\n”,a);
}
int main(int argc,const ch[]){
add(); //0
add(); //1
add(); //2
return 0;
}
二. extern 是不能够修饰局部变量的,它用在函数内部声明一个全局变量
作者:
pp584995727
时间:
2015-7-6 06:26
学习了,顶顶顶
作者:
赵云18235802528
时间:
2015-7-6 07:13
我是来看看的
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2