gpt4 book ai didi

在c中动态更改结构属性

转载 作者:太空宇宙 更新时间:2023-11-04 08:26:58 25 4
gpt4 key购买 nike

我有一个 C 语言的问题。我有一个定义如下的结构体。

struct c1 
{
int a ;
int b ;
#ifdef _UNION_DEFINED
union {
#endif
float c;
float d;
#ifdef _UNION_DEFINED
};
#endif
};

如果启用标志 _UNION_DEFINED,上述结构将启用 union 。但我想在运行时动态地实现同样的事情。就像如果函数返回 true,则应该启用 union ,否则不应定义 union 。谁能告诉我这是否可以实现。

谢谢,

最佳答案

不,那是做不到的。 C 是一种典型的静态编译语言。这意味着当程序运行时,没有留下任何元信息(如类型信息),只有原始机器代码。

您或许可以同时定义这两种结构,然后在运行时根据需要选择合适的结构。

关于在c中动态更改结构属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30033361/

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