在另一个文件中定义的函数是否需要extern?

时间:2017-04-19 00:38:44

标签: c

假设我在项目中声明了以下标题和.c文件。 Imagine Type是我声明的数据类型。

E: Unable to locate package libjasper-dev

这是.c文件

//header1.h
typedef struct Typing {
   int size;
} Type;
Type foo(int);
int randomNum;

假设还有一些名为example.h的文件需要从头部调用此函数foo。如果我为函数或变量添加工作extern是否重要?据我所知,变量需要它。

//header1.c
#include "header1.h"
Type foo(int size) {
   Type type;
   type.size = 100;
   return type;
}

1 个答案:

答案 0 :(得分:0)

extern需要

extern int randomNum;才能使声明成为定义。如果在头文件中定义了变量,则链接时会出现多个定义错误。

默认情况下,功能为extern,因此您不需要它。