gpt4 book ai didi

c - C中的"Classes and initializers"

转载 作者:行者123 更新时间:2023-11-30 16:32:06 25 4
gpt4 key购买 nike

#include <stdio.h>
union test {
int test1;
int test2;
int test3;
};
int testC(union test *x, int q, int w, int e) {
(x->test3)=q;
x--;
(x->test2)=w;
x--;
(x->test1)=e;
x--;
return 0;
};
int main() {
union test hi;
testC(&hi,5,6,7);
printf("%i, %i, %i \n", hi.test1, hi.test2, hi.test3);
int x,*y = 0;
x = 1;
x++;
scanf("%i\n", y);
}

上面的代码应该创建一个 Union,然后将其所有组件“初始化”为输入,但它只是将自身初始化为第一个组件。我尝试过 x++ 并移动值,但似乎没有任何效果。

最佳答案

union 占用其最大成员所需的空间。这意味着它一次只能保存其中一名成员的值(value)。下面的答案很好地解释了这一点。

Difference between a Structure and a Union

关于c - C中的"Classes and initializers",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50284158/

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