본문 바로가기
과목 구분 없음9급 국가직 공무원 컴퓨터일반 · 2022년04월02일 · 6/20

6.C 언어에서 함수 호출 시 매개변수 전달 방법에는 값에 의한 호출(Call by Value)과 참조에 의한 호출(Call by Reference)이 있다. C 프로그램 코드가 다음과 같을 때 설명으로 옳지 않은 것은?

9급 국가직 공무원 컴퓨터일반 6번 문제 이미지
1
전달할 데이터의 양이 많을 경우에는 참조에 의한 호출이 효율적이다.
2
값에 의한 호출로 전달된 데이터는 호출된 함수에서 값을 변경하더라도 함수 종료 후 해당 함수를 호출한 상위 함수에 반영되지 않는다.
3
값에 의한 호출은 함수 호출 시 데이터 복사가 발생한다.
4
위의 프로그램에서 함수 get_average()를 호출하는 데 사용한 매개변수 score는 값에 의한 호출로 처리된다.정답

해설

[값에 의한 호출] 값이 저장되어있는 주소를 직접 참조하는 것이 아닌 값만을 참조 따라서 호출된 부분에서는 복사된 값을 사용해 처리 [참조에 의한 호출] 값이 저장되어있는 주소를 직접 참조 따라서 연산의 결과가 원래 변수에도 적용 1. 값에 의한 호출은 복사가 발생하므로 양이 많을 떄는 참조에 의한 호출이 효율적 2. 값에 의한 호출은 값을 복사 -> 원본에는 변수에는 적용 안됨 3. 값에 의한 호출은 값을 복사 4. 배열은 그 자체가 포인터로 볼 수 있으므로 값에 의한 호출이 아닌 참조에 의한 호출    -> 배열의 이름으로 호출 = 배열의 0번째 원소 주소를 호출

이 시험을 직접 풀어보세요

실전과 동일한 CBT 환경에서 시간 제한 연습

회원가입 없이 CBT 풀기