더북(TheBook)

앞에 나온 두 게임 정보를 구조체로 정의해 보겠습니다. struct 키워드 다음에 구조체명을 GameInfo라고 넣습니다. 그리고 중괄호를 열고 닫으면 세미콜론이 자동으로 붙습니다. 중괄호 안에 게임 이름, 발매 연도, 게임 가격, 제작 회사를 나타내는 변수를 각각 선언합니다. 선언만 하므로 자료형과 변수명, 세미콜론까지만 써 주세요. 이제 변수들은 각각 GameInfo 구조체를 구성하는 멤버가 됩니다. 구조체는 보통 전역변수와 마찬가지로 main()함수 위 전역 위치에 정의합니다.

TIP     구글의 C++ 코딩 스타일 가이드(https://google.github.io/styleguide/cppguide.html)에 따르면 구조체명은 GameInfo처럼 단어의 첫 글자를 대문자로 적는 파스칼 표기법(pascal case)을 권장합니다. 실무에서는 회사마다, 프로젝트마다 조금씩 다를 수 있습니다.

9.2 구조체정의.c

#include <stdio.h>

struct GameInfo {   // 구조체 정의
    char * name;    // 구조체 멤버1
    int year;       // 구조체 멤버2
    int price;      // 구조체 멤버3
    char * company; // 구조체 멤버4
};

멤버를 4개 가진 GameInfo라는 구조체를 만들었습니다. 코드에서 보듯이 구조체는 여러 자료형으로 된 변수들을 묶어 하나의 새로운 자료형으로 정의하는 것입니다. C 언어에 내장된 int, float, double, char 등 기본 자료형과 달리 구조체는 이름과 멤버를 사용자가 직접 정의할 수 있습니다. 그래서 사용자 정의 자료형(UDT, User-defined Data Type)이라고 합니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.