더북(TheBook)

코드에 오류가 있는지 비주얼 스튜디오에서 gamePtr 부분에 빨간 줄이 생깁니다. 왜 그럴까요?

그림 9-7 구조체 포인터로 구조체 변수에 접근했을 때

일반적으로 포인터 변수가 가리키는 int형 변수의 값을 나타낼 때 포인터 변수 앞에 별표를 붙여 *ptr로 작성합니다. ptrint형 변수의 주소를 담고 있는데, 그 앞에 별표를 붙임으로써 가리키는 주소에 저장된 값을 나타내죠. 구조체 포인터도 똑같습니다. 구조체 포인터가 가리키는 구조체 변수의 값을 나타내려면 gamePtr 앞에 별표를 붙여 *gamePtr로 쓰면 됩니다.

9.3.1 구조체포인터.c

printf("-- 미션맨의 게임 출시 정보 --\n");
printf("게임 이름 : %s\n", *gamePtr.name);
printf("발매 연도 : %d\n", *gamePtr.year);
printf("게임 가격 : %d\n", *gamePtr.price);
printf("제작 회사  : %s\n", *gamePtr.company);
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.