【作用域】 C语言(各变量的生命周期)

       作用域描述了程序中可以访问一个标识符的一个或多个区域。一个C变量的作用域可以是代码块作用域、文件作用域,或者函数原型作用域。

                 作用域                          作用范围
代码块作用域 复合语句(局部变量)
文件作用域 在所有函数之外定义(全局变量)
函数原型作用域 goto 语句使用的标签

注: 复合语句:把多个语句用括号{}括起来组成的一个语句。

下面用代码说明各变量的作用域(生命周期)

#include<iostream>
using namespace std;

int a;                 // a作用域的开始(全局变量) 

int main(){
	
	static int b ;    // b作用域的开始 (局部静态变量) 
	
	int c ;           // c作用域的开始 (局部变量) 
	
	if(c){
		int d ;       // d作用域的开始(局部变量)
		cout<<d<<endl;// d作用域的结束 (局部变量)
	} 
	 
	return 0;         // c作用域的结束 (局部变量)
}
					  // b作用域的结束(局部静态变量)  
					  // a作用域的结束(全局变量)   注:全局变量 的生命周期比 局部静态变量 长 

参考书籍:

《C Primer Plus (第五版)》Stephen  Prata    云巅工作室译

猜你喜欢

转载自blog.csdn.net/piano_diano/article/details/88981569