基本上,我已经定义并输入了这个结构:
typedef struct{
void** elements;
int numElements;
int itemSize;
int capacity;
int dynamicElements;
}array;
我为此编写了随附的动态数组操作函数。但是,我有一点问题。在各种函数中,我将此结构作为参数传递。为了模块化代码,我需要在头文件中对这些函数进行原型(prototype)设计(并且为了允许数组类型的参数,我需要在这些头文件中包含“array.h”。)
所以在包含了我所有的头文件之后,“array.h”头文件被包含了多次。正如预期的那样,结构类型已被多次类型定义,并导致冲突。
我的问题是:如何在我的头文件中包含此定义,以便它在多次包含时不会中断?
最佳答案
通过使用 include guards .
#ifndef ARRAY_H_
#define ARRAY_H_
typedef struct {
...
} array;
#endif
关于c - 多次包含的头文件中的 Typedef,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9551298/