我想使用一个尚未定义的 typedef 结构,但它是稍后的。
有没有类似结构原型(prototype)的东西?
文件容器.h
// i would place a sort of struct prototype here
typedef struct
{
TheType * the_type;
} Container;
文件 thetype.h
typedef struct {......} TheType;
文件 main.c
#include "container.h"
#include "thetype.h"
...
最佳答案
替换这一行:
// i would place a sort of struct prototype here
用这些行:
struct TheType;
typedef struct TheType TheType;
由于您需要在定义
TheType
类型之前定义 Container
类型,因此您必须使用 TheType
类型的前向声明 - 为此,您还需要前向声明 struct TheType
。那么你不会像这样定义 typedef
TheType
:typedef struct {......} TheType;
但您将定义 struct
TheType
:struct {......};
关于c - 使用稍后声明的 C 结构,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9153320/