gpt4 book ai didi

c - 在 .h 文件中声明结构并在 .c 文件中声明枚举

转载 作者:行者123 更新时间:2023-11-30 18:11:37 27 4
gpt4 key购买 nike

我已经声明了一个具有枚举类型的结构。由于它是 .h 中的成员和 .c 文件中的枚举,因此我在代码中使用了枚举。

这样做合法吗,或者会导致编译问题吗?

// in test.h 
typedef struct {
eState state;

} TEST;

// in test.c
#include "test.h"

typedef enum {
DEFAULT,
FAST

} eState;

最佳答案

您有三个选择:

  1. 将枚举声明移至 .h 文件(它必须位于结构声明之前)。

  2. 或者绝对荒谬和愚蠢(您必须在包含 .h 文件的每个文件中以相同的方式声明枚举),但从语言的角度来看是合法的

    // in test.c
    typedef enum {
    DEFAULT,
    FAST
    } eState;

    #include "test.h"
  3. 您还可以将结构体声明移至 .c 文件中。

关于c - 在 .h 文件中声明结构并在 .c 文件中声明枚举,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45665378/

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