정보처리기능사 실기 시험 기출 문제 - 포인터를 사용한 배열 요소 접근
추천 자료: ASP.NET Core 인증 및 권한 부여
문제
다음 C 프로그램이 실행되었을 때의 동작을 설명하고, 출력 결과를 예측하시오.
소스 코드 파일명: pointer_array_access.c
#include <stdio.h>
int main()
{
char a[] = { 'A', 'B', 'C', 'D', 'E', 'F' };
char *p;
p = &a[2];
printf("%c, %c\n", *p, *(p - 2));
}
입력 예시
이 프로그램은 입력을 받지 않습니다.
출력 예시
C, A
해설
이 프로그램은 포인터를 사용하여 배열의 특정 요소에 접근하고, 그 값을 출력합니다.
char a[] = { 'A', 'B', 'C', 'D', 'E', 'F' };
는 문자 배열을 선언하고 초기화합니다.p = &a[2];
을 통해 포인터p
는 배열a
의 세 번째 요소('C'
)의 주소를 가리키게 됩니다.printf("%c, %c\n", *p, *(p - 2));
는 현재p
가 가리키는 위치의 값('C'
)과 그로부터 2개 이전 위치의 값('A'
)을 출력합니다.- 따라서, 이 프로그램은
C, A
를 출력합니다.
이 프로그램은 포인터와 배열의 상호작용을 이해하고, 포인터를 통해 배열 요소에 접근하는 방법을 보여줍니다.
추천 자료: .NET Blazor에 대해 알아보시겠어요? .NET Blazor 알아보기를 확인해보세요!