标签:
1.在函数中的局部变量,量在该函数结束后自己主动撤销
2.函数内的复合语句中的局部变量(比方for语句),这个变量在复合语句结束后自己主动撤销。这个变量能够与1中的变量重名,在复合语句作用域中里面定义的变量权限更高,考虑到可读性不推荐这么做
比如:
#include<stdio.h> #include<stdlib.h> void fun1(); int main() { fun1(); } void fun1() { int m=200; int i=0; for(i=0;i<1;i++) { int m=5; printf("%d",m); } printf("%d\n",m); system("pause"); } //输出结果为:5 200
定义在全部函数外部的变量,须要注意和区分的是变量的定义和声明。仅仅要在全部函数外面定义的变量就是全局变量 ,所以这个变量不一定在一个文件的最前面几行代码,假设这个变量定义在一个函数的后面。而这个函数须要用到这个变量,那么这个变量就需在这个函数之前声明或者在这个函数内部声明方可使用,假设这个变量定在这个函数的前面,那么能够省去声明。
定义一个变量的一般形式:extern 类型说明符 变量名 (比方:int a ,在定义的时候extern能够省略。)
声明一个变量的一般形式:extern 类型说明符 变量名 (声明变量时extern不能够省略,)
须要注意的是 静态全局变量 和非静态全局变量(全局变量)
一个程序往往有非常多源码。一个源文件里包括了另外一个源码文件,
总结来说就是:全局变量在全部包括了它的源文件里均有效,而静态全局变量仅仅有在定义它的源文件里有效,
总的结论:经过局部变量,而不是静态变量改变其存储,这改变了它的生命周期;经过全局变量静态变量改变其范围。限制其范围
标签:
原文地址:http://www.cnblogs.com/gcczhongduan/p/4600420.html