C 언어에서 중첩 구조체 사용하기
추천 자료: ASP.NET Core 인증 및 권한 부여
C 언어에서 구조체는 여러 관련 변수를 그룹화하는데 사용됩니다. 본문에서는 중첩 구조체, 즉 구조체 안에 다른 구조체를 사용하는 방법에 대해 알아보고, 이를 활용하는 간단한 예제를 살펴봅니다.
코드: nested_structures.c
#include <stdio.h>
// 주소 정보를 나타내는 구조체
struct Address
{
char street[50]; // 거리명
char city[50]; // 도시명
char zipCode[10];// 우편번호
};
// 학생 정보를 나타내는 구조체
struct Student
{
char name[50]; // 학생 이름
struct Address address; // 주소 정보 (Address 구조체를 사용)
};
int main()
{
// 학생 구조체 변수를 초기화. 주소 정보도 함께 초기화한다.
struct Student student1 = {"철수", {"123번길", "서울", "12345"}};
// 학생 정보를 출력
printf("이름: %sn", student1.name);
printf("주소: %s, %s, %sn", student1.address.street, student1.address.city, student1.address.zipCode);
return 0;
}
이름: 철수
주소: 123번길, 서울, 12345
위 예제에서는 두 개의 구조체를 정의하고 있습니다. 첫 번째 구조체인 Address
는 주소 정보를 표현하는 데 사용되며, street
, city
, zipCode
라는 멤버 변수를 가지고 있습니다. 두 번째 구조체인 Student
는 학생의 정보를 표현하는데 사용됩니다. 이 구조체는 name
이라는 멤버 변수와 Address
타입의 address
라는 멤버 변수를 가지고 있습니다.
main
함수에서는 Student
타입의 student1
변수를 생성하고 초기화합니다. 중첩 구조체인 address
도 초기화하는 과정에서 함께 초기화됩니다.
마지막으로, printf 함수를 사용하여 학생의 이름과 주소 정보를 출력합니다.
이 예제를 통해 구조체 안에 다른 구조체를 넣어서 사용하는 방법을 배웠습니다. 이를 통해 데이터를 논리적으로 그룹화하여 코드의 가독성과 유지 보수성을 높일 수 있습니다.
추천 자료: .NET Blazor에 대해 알아보시겠어요? .NET Blazor 알아보기를 확인해보세요!