extern static
时间: 2023-11-12 10:08:10 浏览: 39
extern和static是C语言中的两个关键字,用于声明和定义变量和函数。
extern关键字用于声明变量或函数,表示该变量或函数是在其他地方定义的。使用extern关键字可以在当前文件中引用其他文件中定义的变量或函数。
static关键字有两种用法:
1. 在函数内部使用时,用于声明一个局部变量,表示该变量在函数执行结束后仍然保持其值,而不会被销毁。
2. 在全局变量或函数前使用时,用于限制其作用域为当前文件,使其只能在当前文件内部访问,而不能在其他文件中引用。
相关问题
extern+static
extern和static是C语言中用于修饰变量和函数的关键字。
1. extern关键字:
- 当在一个文件中声明一个变量或函数时,该变量或函数的作用域仅限于当前文件。如果想在其他文件中使用该变量或函数,需要使用extern关键字进行声明。
- extern关键字告诉编译器,该变量或函数在其他文件中已经定义或声明过了,可以在当前文件中使用。
- 例如,如果在文件A中定义了一个全局变量int num,并在文件B中想要使用该变量,可以在文件B中使用extern int num;进行声明。
2. static关键字:
- static关键字用于修改变量和函数的作用域。
- 当static修饰全局变量时,该变量的作用域仅限于当前文件,其他文件无法访问该变量。
- 当static修饰局部变量时,该变量的生命周期会延长到整个程序运行期间,而不是只在函数执行期间存在。
- 当static修饰函数时,该函数的作用域仅限于当前文件,其他文件无法调用该函数。
- 例如,如果在文件A中定义了一个静态全局变量static int num,并在文件B中想要使用该变量,是无法直接访问的。
extern和static
extern和static是C++中的两个关键字,它们都可以用于函数和变量的声明和定义。
extern关键字用于声明一个在其他文件中定义的全局变量或函数,它告诉编译器该变量或函数的定义在别的文件中,需要在链接时进行连接。在头文件中使用extern声明函数或变量,可以在其他文件中使用该函数或变量。
static关键字有两种用法,一种是用于局部变量,表示该变量在程序运行期间只被初始化一次,不会被销毁,可以在函数调用之间保持其值。另一种用法是用于全局变量或函数,表示该变量或函数只在当前文件中可见,不能被其他文件访问。
举个例子,如果在一个头文件中声明了一个全局变量,可以在其他文件中使用extern关键字来引用该变量;如果在一个函数中定义了一个静态变量,该变量的值会在函数调用之间保持不变。