extern 申明函数
时间: 2023-11-11 17:17:57 浏览: 41
extern 用于在一个源文件中声明一个在其他源文件中定义的函数。它告诉编译器该函数在另一个地方定义,而不是当前文件中。
例如,假设有两个源文件:main.c 和 helper.c。在 helper.c 中定义了一个名为 helperFunc 的函数。如果我们要在 main.c 中调用该函数,我们需要在 main.c 中使用 extern 声明该函数。
在 main.c 中使用 extern 声明函数的语法如下:
extern 返回类型 函数名(参数列表);
这告诉编译器,helperFunc 函数在其他地方定义,我们只是想在当前文件中使用它。然后,我们可以在 main.c 中直接调用 helperFunc 函数,而不需要再次定义它。
需要注意的是,extern 关键字通常不是必需的。如果将函数的定义放在同一源文件中,或者将函数的定义放在包含该函数的头文件中并将其包含到当前源文件中,那么就不需要使用 extern 关键字。
希望这个解释对你有帮助!如果还有其他问题,请随时提问。
相关问题
extern定义函数
extern关键字主要用于声明外部函数,即在某个文件中声明函数的原型,在另一个文件中定义该函数的具体实现。通过使用extern关键字,可以在一个文件中声明函数,在另一个文件中使用该函数,实现函数的模块化和代码的复用。
下面是extern定义函数的一般格式:
extern 返回类型 函数名(参数列表);
例如,如果在一个文件中声明了一个函数foo()为外部函数:
extern void foo(int a, int b);
那么在另一个文件中,可以使用该函数:
void bar() {
foo(1, 2);
}
通过extern关键字来声明函数,可以让编译器知道在其他文件中存在这个函数的定义,从而避免了函数未定义的错误。同时,也使得代码更加清晰和可维护,方便代码的组织和管理。
extern修饰函数
extern修饰函数是用来说明函数的定义和声明的关系。在C语言中,可以在一个文件中声明一个函数而在另一个文件中定义它。这样的话,需要在函数的声明前加上extern关键字,告诉编译器该函数是在其他文件中定义的。
例如,在一个文件中声明一个全局函数如下:
extern void myFunction();
然后在另一个文件中定义该函数:
void myFunction() {
// 函数的实现
}
这样,在编译时,编译器就知道myFunction函数是在其他文件中定义的,并会在链接阶段将其正确地连接到调用它的文件中。如果没有extern关键字,编译器会在当前文件中查找函数的定义,找不到则报错。
需要注意的是,对于局部函数(函数内部定义的函数),不能使用extern修饰,因为它们只在当前文件中可见。