c - 如何检查之前是否已定义结构类型?

标签 c

我需要在一个头文件中定义所有结构,但我该如何做到这一点,以避免重新定义 typedef 错误!

最佳答案

您的意思是要将程序文件分成一个声明所需结构的头文件和一个包含您的程序的程序文件吗?

创建一个名为“type.h”的文件,并在该文件中

/* type.h */
#ifndef TYPE_H
#define TYPE_H
typedef struct t_Node
{
  int m_Info;
}t_Node;

/* ... definition of another struct */
#endif

以及包含您的程序的文件,例如“main.c”

#include <stdio.h>
#include  "type.h"
int main(void)
{
  /* your program */
}

并且您需要将这两个文件放在一个目录中。或者您需要使用gcc -c main.c -I <directory of type.h>

关于c - 如何检查之前是否已定义结构类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57269152/

相关文章:

c - 程序全局和局部静态变量保存在哪个内存段

C 在 execvp 中传递一个参数和两个参数

c - 如何将结构成员定义为其他成员的总和

c - 逐行循环遍历 char 数组

c - 使用未分配的空间 calloc

c++ - char *foo 与 char* foo

c - Rtmp 流通过 gstreamer-1.0 appsrc 到 rtmpsink

c - 如何像 nm 命令一样显示符号的类型?

c - 在 void* 函数中返回 float

c - 从 C API 获取 Lua 标准输出