구조
구조는 사용자 정의 데이터 유형입니다. 서로 다른 유형의 데이터를 단일 유형으로 결합하는 데 사용됩니다. 여러 멤버와 구조 변수를 가질 수 있습니다. "struct"라는 키워드는 C 언어에서 구조를 정의하는 데 사용됩니다. 구조체 멤버는 dot(.) 연산자를 사용하여 액세스할 수 있습니다.
다음은 C 언어의 구조 구문입니다.
struct structure_name { member definition; } structure_variables;
여기,
-
구조_이름 − 구조에 부여된 모든 이름.
-
구성원 정의 − 멤버 변수의 집합입니다.
-
구조_변수 - 구조의 대상입니다.
다음은 C 언어의 구조 예입니다.
예시
#include <stdio.h> #include <string.h> struct Data { int i; long int f; } data, data1; int main( ) { data.i = 28; printf("The value of i : %d\n", (data.i)); printf( "Memory size occupied by data : %d\t%d", sizeof(data), sizeof(data1)); return 0; }
출력
다음은 출력입니다.
The value of i : 28 Memory size occupied by data : 16 16
연합
Union은 또한 사용자 정의 데이터 유형입니다. Union의 모든 구성원은 동일한 메모리 위치를 공유합니다. Union의 크기는 가장 큰 Union 구성원의 크기에 따라 결정됩니다. 두 명 이상의 멤버에 대해 동일한 메모리 위치를 사용하려는 경우에는 union이 가장 좋습니다.
조합은 구조와 유사합니다. Union 변수는 구조체 변수와 같은 방식으로 생성됩니다. "union"이라는 키워드는 C 언어에서 공용체를 정의하는 데 사용됩니다.
다음은 C 언어의 공용체 구문입니다.
union union_name { member definition; } union_variables;
여기,
-
union_name − 노동 조합에 부여된 모든 이름.
-
구성원 정의 − 멤버 변수의 집합입니다.
-
union_variable − 연합의 대상입니다.
다음은 C 언어로 된 공용체의 예입니다.
예시
#include <stdio.h> #include <string.h> union Data { int i; float f; } data, data1; int main( ) { printf( "Memory size occupied by data : %d\t%d", sizeof(data), sizeof(data1)); return 0; }
출력
다음은 출력입니다.
Memory size occupied by data : 4 4