乐闻世界logo
搜索文章和话题

如何正确使用C中的extern关键字

5 个月前提问
3 个月前修改
浏览次数26

1个答案

1

什么是 extern 关键字?

在C语言中,extern 关键字用于声明一个全局变量或者函数,在多个文件之间共享。它用于告知编译器,变量或函数的定义在别的文件中。这样,就可以在一个文件中定义全局变量或函数,并在其他文件中使用它们,而不需要重新定义。

如何使用 extern 关键字

extern 关键字主要用在两个场景中:

  1. 声明全局变量:当全局变量在一个文件中定义,而需要在其他文件中访问时,可以在这些其他文件中使用 extern 关键字来声明这些变量。
  2. 声明函数:函数的声明通常在头文件中,而定义在源文件中。使用 extern 可以在多个源文件之间共享对同一函数的访问。

示例

假设有两个文件:main.chelper.c

helper.c 中定义了一个全局变量和一个函数:

c
// helper.c #include<stdio.h> int count = 5; // 全局变量定义 void print_count() { printf("Count is %d\n", count); }

main.c 中,我们想要使用 helper.c 中定义的全局变量和函数:

c
// main.c #include<stdio.h> extern int count; // 使用extern声明全局变量 extern void print_count(); // 使用extern声明函数 int main() { print_count(); count = 10; print_count(); return 0; }

注意事项

  • 使用 extern 时,必须确保变量或函数已经在某处定义过,否则在链接时会出现错误。
  • 对于全局变量,如果使用 extern 后没有在任何地方定义,编译器将不会为它分配内存。
  • extern 只是用于声明,不是用于定义。定义是创建存储空间,而声明则是告诉编译器其存储空间的存在。

通过以上示例和解释,可以看出 extern 关键字在多文件项目中管理全局变量和函数的重要性和正确用法。这种方法有助于保持代码的模块化和易于管理。

2024年7月3日 23:20 回复

你的答案