gpt4 book ai didi

c - 如何对已经类型定义的标识符进行类型定义?

转载 作者:太空宇宙 更新时间:2023-11-04 06:36:18 28 4
gpt4 key购买 nike

有一个头文件stack.h:

typedef char ElemType;

typedef struct{
ElemType data[MaxSize];
int top;
} SqStack;

int Push_Sq(SqStack *s, ElemType e);

int Pop_Sq(SqStack *s, ElemType *e);

int GetTop_Sq(SqStack *s, ElemType *e);

现在我有一些包含此 header 的源文件,我想对 ElemType 使用 int 而不是 char,这可能吗?怎么办?(不想修改原来的头文件)

最佳答案

不幸的是,没有什么可做的。您可以重构代码使类型成为 #define,因此头文件中的内容如下所示:

#ifndef ELEMTYPE
# define ELEMTYPE char
#endif

typedef ELEMTYPE ElemType;

然后在源文件之前你包含你可以做的头文件

#define ELEMTYPE int

但是,如果从多个文件中使用并且您在所有 源文件中没有相同的 ELEMTYPE,这可能是危险的。 p>

关于c - 如何对已经类型定义的标识符进行类型定义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14661062/

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