본문 바로가기
C and C++/C and C++ Examples

[C Examples] struct을 활용한 영화 정보 출력하기

by Henry Cho 2023. 10. 2.
728x90

struct을 활용한 영화 정보 출력하기

포스트 난이도: HOO_Intern


# Example codes

이번 포스트에서는 C에서 struct을 어떻게 사용할 수 있는지를 살펴볼 수 있다. 아래의 예제코드는 간략한 영화 데이터를 struct을 활용해서 저장하고 출력해내고 있다. 영화 정부에 들어가 데이터의 경우 동일한 type들을 가지고 있기 때문에 struct을 통해서 타입을 설정해 준 다음 MovieData라는 struct에 저장되어 있는 방식을 movie1과 movie2에서 사용하고 있다. 여기서 struct은 어렵게 생각할 필요없이 마치 글을 작성하는 데 있어서 정해진 양식을 저장해 준 다음에 불러서 반복적으로 사용하는 거와 비슷하다고 생각하면 된다. 그래서 우리는 한국말로 struct을 "구조체"라고도 부르기도 한다. struct에 대해 익숙해져야 그 다음으로 같이 사용되는 포인터에 대해서도 쉽게 익혀나갈 수 있다. 아래의 예제코드를 보고 연습해 보도록 하자.


#include <stdio.h>
#include <stdlib.h>

// Define the MovieData structure
struct MovieData {
    char title[50];
    char director[50];
    int year;
    int length;
};

// Function prototype
void displayMovie(struct MovieData);

int main() {
    // Initialize two variables of type MovieData with specific data
    struct MovieData movie1 = {
        "The Matrix",
        "The Wachowskis",
        1999,
        136
    };

    struct MovieData movie2 = {
        "Terminator 2",
        "James Cameron",
        1991,
        131
    };

    // Display the data for movie1
    displayMovie(movie1);
    printf("\n");

    // Display the data for movie2
    displayMovie(movie2);

    return 0;
}

// Function to display movie information
void displayMovie(struct MovieData m) {
    printf("Title: %s\n", m.title);
    printf("Director: %s\n", m.director);
    printf("Released: %d\n", m.year);
    printf("Running Time: %d minutes\n", m.length);
}

Figure1. Result


# github link

[Temp]


 

728x90

댓글