C 언어의 구조체와 공용체의 차이점은 아래에 설명되어 있습니다 -
| 아니요 | 구조 | 통합 |
|---|---|---|
| 1 | 정의 구조는 단일 이름으로 함께 그룹화된 데이터 항목의 이기종 모음입니다. | 정의 공용체는 서로 다른 데이터 유형의 여러 변수가 공유하는 메모리 위치입니다. |
| 2 | 구문 struct tagname{
datatype member1;
datatype member2;
----
----
----
}; | 구문 union tagname{
datatype member1;
datatype member2;
----
----
----
}; |
| 3 | 예: struct sample{
int a;
float b;
char c;
}; | 예: union sample{
int a;
float b;
char c;
}; |
| 4 | 키워드 - 구조체 | 키워드 - 조합 |
| 5 | 메모리 할당 | 메모리 할당 |
| 6 | ![]() | ![]() |
| 7 | 할당된 메모리는 구조체에 있는 모든 데이터 유형의 크기의 합입니다(여기서는 7bytes). | 할당된 메모리는 유니온에 있는 모든 데이터 유형 중 할당되는 최대 크기입니다(여기서는 4bytes). |
| 8 | 구조의 모든 구성원에 대해 메모리가 다르게 할당됩니다. | 특정 인스턴스에서 한 멤버만 메모리에 상주합니다. |
예시
다음은 구조에 대한 C 프로그램입니다 -
#include<stdio.h>
struct size{
double a;
int b;
char c;
float d;
};
int main(){
printf("%ld",sizeof( stuct size));
} 출력
위의 프로그램을 실행하면 다음과 같은 결과가 나온다 -
24
예시
다음은 Union의 C 프로그램입니다 -
#include<stdio.h>
union size{
double a;
int b;
char c;
float d;
}
Int main(){
Printf("ld",sizeof(union size));
} 출력
위의 프로그램을 실행하면 다음과 같은 결과가 나온다 -
8

