c - 如何使用另一个文件中的结构?

标签 c struct header extern

我正在尝试在其他文件(例如clube.c)中使用 *.h 命名结构,它将根据定义为 Clubes 的结构创建一个数组。

结构.h:

extern typedef struct Clubes{
 char *codClube;
 char *nome;
 char *estadio;
};

无论我做什么,它都不会出现在我的clubes.c中

注意:已经包含“structurals.h”

再次提前致谢, 如果我可以提供任何信息来帮助您,请尽管询问。

最佳答案

关键字typedef只是让您定义类型,例如 typedef int whole_number这将创建类型 whole_number现在您可以像使用 int 一样使用它, whole_number x = 5;结构也是如此。人们在结构上使用 typedef,这样他们就不需要写 struct Clubes :

typedef struct Clubes{
 char *codClube;
 char *nome;
 char *estadio;
} clubes;

现在您不必使用 struct Clubes x; ,您可以使用clubes x;它更短且更容易编写。

Extern关键字为您提供全局链接,在这种情况下它不会执行任何操作。

你的问题有点令人困惑。如果你想创建这个结构体,然后在其他文件中使用它,你需要创建头文件:

#ifndef __CLUBES_H_
#define __CLUBES_H_ 1

struct Clubes{
 char *codClube;
 char *nome;
 char *estadio;
} clubes;

#endif

将其保存在一个头文件中,例如 clubes.h然后在其他一些c在您想要使用此结构的代码中,您只需包含带有 #include "clubes.h" 的 header 即可

关于c - 如何使用另一个文件中的结构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35320522/

相关文章:

c - While 循环在第二次迭代时跳过第一个 `fgets()`

c++ - 用STL对象的 vector 序列化结构的 vector

python - Python 中更节省内存的结构表示?

css - 我的 <body> 不接受背景颜色/图像

PHP header 位置重定向不起作用 - 为什么?

c - TCP头端口号偶尔为0

c - 从函数返回字符串 [字符指针]

c - 表达式是什么,真还是假

ios - 函数中缺少返回 - 模型中出现快速错误

c++ - 为什么struct在C/C++中有两个变量名