gpt4 book ai didi

c - 这种C结构体定义有什么好处呢?

转载 作者:行者123 更新时间:2023-12-02 09:32:18 27 4
gpt4 key购买 nike

我不太明白为什么要这样定义这个结构。

这是有问题的代码块...

typedef struct Except_Frame Except_Frame;
struct Except_Frame {
Except_Frame *prev;
jmp_buf env;
const char *file;
int line;
const T *exception;
};

为什么这个结构体是这样定义的,而不是仅仅......

typedef struct {
Except_Frame *prev;
jmp_buf env;
const char *file;
int line;
const T *exception;
} Except_Frame;

有什么优点?

最佳答案

如果您不使用:

typedef struct Except_Frame Except_Frame;

然后,需要使用以下方式定义struct:

struct Except_Frame {

// The keyword struct is necessary without the typedef
struct Except_Frame *prev;

jmp_buf env;
const char *file;
int line;
const T *exception;
};

如果您想在一条语句中定义 structtypedef,则为:

typedef struct Except_Frame {

// The keyword struct is necessary without the typedef
// being defined ahead of the definition of the struct.
struct Except_Frame *prev;

jmp_buf env;
const char *file;
int line;
const T *exception;
} Except_Frame;

关于c - 这种C结构体定义有什么好处呢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31715745/

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