더북(TheBook)

이때 별명으로 붙인 GAME_INFO 대신 원래대로 struct GameInformation을 써도 됩니다. 변수를 선언한 후 name 멤버에 값을 새로 저장해도 오류 없이 잘 작동합니다.

struct GameInformation game3;
game3.name = "한글 게임3";

구조체 정의에서 구조체명인 GameInformation을 지우고 별명인 GAME_INFO만 남겨도 됩니다. 이는 ‘구조체명은 잘 모르지만, typedef struct를 써서 구조체에 GAME_INFO라는 별명을 붙이겠다’는 뜻입니다.

typedef struct {
    char * name;
    int year;
    int price;
    char * company;
    struct GameInfo * friendGame; 
} GAME_INFO;

보통 typedef로 구조체를 정의할 때는 구조체명 없이 별명을 지어 사용하는 방법을 주로 사용합니다. 단, 이렇게 작성하면 구조체 변수를 선언할 때 struct GameInformation을 사용할 수 없습니다.

GAME_INFO game2; // 사용 가능
struct GameInformation game3; // 사용 불가

그림 9-9 game3 변수에 빨간 줄이 생김

구조체의 기본 개념과 사용 방법을 알아봤습니다. 여기까지 알면 구조체를 사용하기 위한 기본 지식은 갖췄다고 볼 수 있습니다. 이제 프로젝트를 작성하면서 구조체를 실제 프로그램에 적용해 보겠습니다.

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