정보처리기사 실기 시험 기출 문제 - 포인터와 구조체 사용
추천 자료: ASP.NET Core 인증 및 권한 부여
문제
다음 C 프로그램이 실행되었을 때의 동작을 설명하고, 출력 결과를 예측하시오.
소스 코드 파일명: pointer_struct_test.c
#include <stdio.h>
main() {
struct insa {
char name[10];
int age;
} a[] = { "Kim", 28, "Lee", 38, "Park", 42, "Choi", 31 };
struct insa* p;
p = a;
p++;
printf("%s\n", p->name);
printf("%d\n", p->age);
}
입력 예시
이 프로그램은 사용자로부터 입력을 받지 않습니다.
출력 예시
Lee
38
해설
이 프로그램은 구조체 배열을 포인터로 접근하고, 포인터를 이용해 배열의 두 번째 요소의 정보를 출력합니다.
struct insa
구조체는 이름과 나이를 저장하는 데 사용됩니다.- 배열
a
는 네 명의 사람(김, 이, 박, 최)의 이름과 나이 정보를 초기화합니다. - 포인터
p
는 구조체 배열a
를 가리키며,p++
를 통해 배열의 두 번째 요소를 가리킵니다. printf
함수를 사용해p
가 가리키는 요소, 즉 이씨의 이름과 나이를 출력합니다.
이 프로그램은 구조체와 포인터를 활용하여 배열의 특정 요소에 접근하고 정보를 출력하는 방식을 보여 줍니다.
추천 자료: .NET Blazor에 대해 알아보시겠어요? .NET Blazor 알아보기를 확인해보세요!