extern C语言
时间: 2023-11-21 21:50:25 浏览: 133
extern 是 C 语言中的一个关键字,用于声明一个函数或变量是在其他文件中定义的。它可以用来在一个源文件中引用另一个源文件中定义的函数或变量。
当在一个源文件中使用 extern 关键字声明一个函数时,意味着该函数是在另一个源文件中定义的,编译器会在链接阶段将其与实际定义连接起来。
例如,在一个源文件 A.c 中使用 extern 声明一个函数 foo():
extern void foo(); // 函数 foo() 在其他地方定义
然后在另一个源文件 B.c 中定义该函数:
void foo() {
// 函数定义
}
这样,编译器会在链接阶段将 A.c 和 B.c 中的代码连接起来,使得 A.c 中对 foo() 函数的调用能正确执行。
相关问题
extern c语言
`extern` 是C语言中的一个关键字,它的主要作用是指示编译器该变量或函数的定义在别的地方,而不是在这里。使用`extern`关键字可以使得变量或函数对其他文件可见,从而实现跨文件的引用。
在C语言中,`extern`关键字主要有以下两种用途:
1. **声明全局变量**:当在多个文件中需要共享同一个变量时,可以在一个文件中定义该变量(不使用`extern`关键字),而在其他文件中声明该变量(使用`extern`关键字)。这样可以确保所有文件访问的是同一个内存地址中的变量。
2. **声明函数**:当你在一个文件中定义了一个函数,而在另一个文件中需要调用这个函数时,你应该在调用函数的文件中使用`extern`关键字来声明这个函数。这样做是为了告诉编译器该函数在别的地方已经定义了,这里只是提供了一个声明。
`extern`常与`const`关键字一起使用,表明变量是常量。例如,`extern const int`声明了一个外部的常量。
需要注意的是,`extern`只是声明,并不分配内存空间。真正的内存分配是在变量或函数定义时发生的。
extern c语言举例
C语言中,auto和static关键字用于定义变量的存储类型。
auto: 默认存储类型,在函数体内定义的变量默认为auto。这种类型的变量存储在栈中,作用域仅限于所在函数。
static: 存储类型为静态,在整个程序运行期间都存在。这种类型的变量存储在静态存储区中,作用域仅限于所在文件。
extern: 存储类型为外部,用于在一个文件中声明另一个文件中已经定义过的变量或函数。extern变量或函数只是声明,而不是定义。
阅读全文