C/C에서 유니온 크기 결정
C/C에서 유니온은 서로 다른 데이터 유형을 동시에 저장하는 데이터 유형입니다. 메모리 위치. 흔히 접하게 되는 질문 중 하나는 노동조합의 규모에 관한 것입니다. Union 내에서 가장 큰 데이터 유형의 크기에 해당합니까?
답은 '예'입니다. 공용체는 현재 활성 데이터 유형에 관계없이 항상 가장 큰 구성원의 크기와 동일한 메모리를 차지합니다. 이는 컴파일러가 가장 큰 잠재적 값에 대해 충분한 공간이 할당되도록 최적화를 수행하기 때문입니다.
다음 Union 예제를 고려하세요.
union { short x; int y; long long z; };
이 Union의 인스턴스에는 항상 at이 필요합니다. 최소한 가장 큰 멤버인 long long 변수의 공간입니다.
Stefano가 언급했듯이 메모리에 있는 공용체의 실제 크기는 주목할 가치가 있습니다. 컴파일러가 부과한 정렬 요구 사항과 같은 요소에 따라 달라질 수 있습니다. 그러나 개념적으로 공용체의 크기는 가장 큰 구성원의 크기에 해당한다는 점을 이해하는 것이 중요합니다.
위 내용은 C/C 연합의 크기는 어떻게 결정됩니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!