C语言extern的作用并举例
时间: 2024-04-25 08:12:16 浏览: 86
C语言中的extern关键字用于声明一个函数或变量是在别的文件中定义的,它不会分配内存空间,只是告诉编译器该符号在其他地方定义,以便在链接时找到它。举个例子,假设我们有两个.c文件:main.c和test.c,test.c中定义了一个全局变量int a。在main.c中如果我们想要使用test.c中定义的a,我们需要在main.c中使用extern关键字来声明a是在别的文件中定义的:extern int a; 然后编译器就会在链接时找到test.c中定义的a。
相关问题
C语言 extern举例
假设我们有两个C语言源文件,分别为"main.c"和"func.c",其中"main.c"想要使用"func.c"中定义的函数foo(),可以通过"extern"关键字来实现:
// func.c
int foo() {
return 42;
}
// main.c
extern int foo(); // 声明foo()函数的外部链接属性
int main() {
int result = foo(); // 调用foo()函数
return 0;
}
在"main.c"中,我们使用"extern"关键字声明了"foo()"函数的外部链接属性,这样编译器就知道在链接阶段需要将"foo()"函数的定义从"func.c"中连接到"main.c"中。然后,在"main()"函数中,我们就可以调用"foo()"函数,而不用担心链接错误的问题。
extern c语言举例
C语言中,auto和static关键字用于定义变量的存储类型。
auto: 默认存储类型,在函数体内定义的变量默认为auto。这种类型的变量存储在栈中,作用域仅限于所在函数。
static: 存储类型为静态,在整个程序运行期间都存在。这种类型的变量存储在静态存储区中,作用域仅限于所在文件。
extern: 存储类型为外部,用于在一个文件中声明另一个文件中已经定义过的变量或函数。extern变量或函数只是声明,而不是定义。
阅读全文