gpt4 book ai didi

c - union 中有指针和非指针数据类型是否有效?

转载 作者:太空宇宙 更新时间:2023-11-04 05:10:33 24 4
gpt4 key购买 nike

假设我们正确取消引用并正确使用整数,这是一个好的编程习惯吗?

union {
int x;
struct node * next;
};

最佳答案

union 是相当低级的语言特性。对于哪些类型可以一起驻留在 union 中,没有任何有意义的理由存在任何限制性的“良好编程实践”。 union 的目的是“复用”内存使用:通过在同一内存区域中存储几个生命周期不重叠的不相关对象来节省空间。

如果这就是您所需要的 - 那就去做吧。

union 有时用于原始内存重新解释(也称为类型双关)。 union 的这种使用曾经是非法的,直到它在 C99 标准的最新技术勘误之一中正式合法化。虽然它有其用途,但类型双关确实可以被视为有问题的编程实践。

关于c - union 中有指针和非指针数据类型是否有效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13795776/

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