이때 별명으로 붙인 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 변수에 빨간 줄이 생김
구조체의 기본 개념과 사용 방법을 알아봤습니다. 여기까지 알면 구조체를 사용하기 위한 기본 지식은 갖췄다고 볼 수 있습니다. 이제 프로젝트를 작성하면서 구조체를 실제 프로그램에 적용해 보겠습니다.