gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 19:34:44 25 4
gpt4 key购买 nike

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

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

这是 .c 文件

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

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

//example.h
#include "header1.h"
extern int randomNum;
extern Type foo(int);

最佳答案

extern 需要 extern int randomNum; 来防止声明成为定义。如果您的头文件中有变量的定义,您将在链接时收到多个定义错误。

默认情况下,函数是extern,因此您不需要它。

关于c - 在另一个文件中定义的函数是否需要 extern?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43484359/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com