문제 4
다음 C언어로 구현한 프로그램을 분석하여 그 실행 결과를 쓰시오.
#include <stdio.h>
void pcal(int* a) { <------- (int* a)는 (int *a)로 포인터 변수인지?
for (int i = 0; i < 5; i++)
a[i]++;
}
main( ) {
int ary[] = {1, 2, 3, 4, 5 };
pcal(ary);
printf("%d",ary[2]);
}
문제 해설에서
main() 함수
ary[]
[0] [1] [2] [3] [4]
|
2 3 4 5 6
pcal()함수
i a[i] *a
0 2
1 3
2 4
3 5
4 6
5
main() 함수, pcal() 함수 무엇인지?
리턴값이 없는 pcal() 함수의 시작점이다. 2번에서 전달받은 주소를 a가 받는다. 라고 하는데 무슨 뜻인지?
안녕하세요 길벗수험서 운영팀입니다.
(int* a)는 (int *a)로 포인터 변수인지?
[답변]
예, 포인터 변수입니다.
*의 위치는 int 뒤에도 a 앞에도 올 수 있습니다.
main() 함수, pcal() 함수 무엇인지?
[답변]
디버깅표의 main(), pcal() 함수 표기는
main() 절(중괄호{} 범위 내 코드)에서 사용하는 변수들의 값의 변화를,
pcal() 절(중괄호{} 범위 내 코드)에서 사용하는 변수들의 값의 변화를 말합니다.
리턴값이 없는 pcal() 함수의 시작점이다. 2번에서 전달받은 주소를 a가 받는다. 라고 하는데 무슨 뜻인지?
[답변]
void pcal(int *a) { 부분에서
void는 함수의 실행 결과를 호출한 곳으로 돌려보내지 않는다는 것 = 리턴값 없음
int *a는 호출 시 전달된 인수를 a가 받아서 pcal() 함수 내에서 사용된다는 의미입니다.
함수에 대한 자세한 내용은 교재 158쪽을 참고해주세요.
행복한 하루되세요 :)
-
관리자2020-09-28 13:35:46
안녕하세요 길벗수험서 운영팀입니다.
(int* a)는 (int *a)로 포인터 변수인지?
[답변]
예, 포인터 변수입니다.
*의 위치는 int 뒤에도 a 앞에도 올 수 있습니다.
main() 함수, pcal() 함수 무엇인지?
[답변]
디버깅표의 main(), pcal() 함수 표기는
main() 절(중괄호{} 범위 내 코드)에서 사용하는 변수들의 값의 변화를,
pcal() 절(중괄호{} 범위 내 코드)에서 사용하는 변수들의 값의 변화를 말합니다.
리턴값이 없는 pcal() 함수의 시작점이다. 2번에서 전달받은 주소를 a가 받는다. 라고 하는데 무슨 뜻인지?
[답변]
void pcal(int *a) { 부분에서
void는 함수의 실행 결과를 호출한 곳으로 돌려보내지 않는다는 것 = 리턴값 없음
int *a는 호출 시 전달된 인수를 a가 받아서 pcal() 함수 내에서 사용된다는 의미입니다.
함수에 대한 자세한 내용은 교재 158쪽을 참고해주세요.
행복한 하루되세요 :)