16 다음 C 언어로 구현된 프로그램을 분석하여 그 실행 결과를 쓰시오. (단, 출력문의 출력 서식을 준수하시오.)
#include <stdio.h>
int main() {
int* array[3];
int a=12, b=24, c=36;
array[0] = &a;
array[1] = &b;
array[2] = &c;
printf("%d", *array[1] + **array + 1);
}
답
더보기
37
해설
| 코드 | 실행순서 및 해석 | ||
| 1 | #include <stdio.h> | ||
| 2 | int main() { | ||
| 3 | int* array[3]; | 정수형 포인터 배열 array를 배열 3개로 생성 | |
| 4 | int a=12, b=24, c=36; | ||
| 5 | array[0] = &a; | a의 주소값을 array[0]위치에 넣어라 | |
| 6 | array[1] = &b; | b의 주소값을 array[1]위치에 넣어라 | |
| 7 | array[2] = &c; | c의 주소값을 array[2]위치에 넣어라 | |
| 8 | printf("%d", *array[1] + **array + 1); | *array[1]: 2000번지가 가리키는 숫자 = 24 **array: array의 주소가 가리키는 값 array배열의 값: 0500 *array: array[0]의 주소값 → 1000 **array: array[0]의 주소가 가리키는 값 → 12 =24+12+1 =37 |
|
| 9 | } | ||
| 0000 | ||||
| … | ||||
| array | 0500 | 1000 | 2000 | 3000 |
| array[0] | array[1] | array[2] | ||
| … | ||||
| a | 1000 | 12 | ||
| … | ||||
| b | 2000 | 24 | ||
| … | ||||
| c | 3000 | 36 |
'자격증 > 정보처리기사 실기 - 기출문제' 카테고리의 다른 글
| [정보처리기사 실기] 2021년 3회 18 - 테스트 기법 (0) | 2025.07.18 |
|---|---|
| [정보처리기사 실기] 2021년 3회 17 - 프로그래밍 [JAVA] (1) | 2025.07.18 |
| [정보처리기사 실기] 2021년 3회 15 - 용어 (1) | 2025.07.18 |
| [정보처리기사 실기] 2021년 3회 14 - OSI 7 Layer (0) | 2025.07.18 |
| [정보처리기사 실기] 2021년 3회 13 - UML (0) | 2025.07.18 |