C 언어에서 중첩 구조체 사용하기

  • 2 minutes to read

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 함수를 사용하여 학생의 이름과 주소 정보를 출력합니다.

이 예제를 통해 구조체 안에 다른 구조체를 넣어서 사용하는 방법을 배웠습니다. 이를 통해 데이터를 논리적으로 그룹화하여 코드의 가독성과 유지 보수성을 높일 수 있습니다.

VisualAcademy Docs의 모든 콘텐츠, 이미지, 동영상의 저작권은 박용준에게 있습니다. 저작권법에 의해 보호를 받는 저작물이므로 무단 전재와 복제를 금합니다. 사이트의 콘텐츠를 복제하여 블로그, 웹사이트 등에 게시할 수 없습니다. 단, 링크와 SNS 공유, Youtube 동영상 공유는 허용합니다. www.VisualAcademy.com
박용준 강사의 모든 동영상 강의는 데브렉에서 독점으로 제공됩니다. www.devlec.com