Union
-
union개발/C·C++ 2021. 9. 24. 14:12
구글링을 하면 나오는 union에 관한 얘기 중에 다른 변수에 값을 넣으면 이전에 넣은 데이터가 지워진다는 이야기가 나옵니다. 반은 맞고 반은 틀렸습니다. struct Test { union { int i; struct { unsigned int t1 : 1; unsigned int t2 : 1; unsigned int t3 : 1; unsigned int t4 : 1; unsigned int t5 : 1; unsigned int t6 : 1; } s; } u; }; Test 객체를 만들어서 크기를 보면 4바이트가 나옵니다. union 안에 있는 구조체는 멤버 변수는 1비트만 갖게 했기 때문에 멤버 변수가 32개가 넘지 않는 한 4바이트가 나옵니다. union은 메모리를 공유하기 때문에 마지막으로 덮어씌..