책 내용 질문하기
예상문제은행 문제 15번 지역함수 리턴값
도서
2023 시나공 정보처리기능사 실기
페이지
256
조회수
208
작성일
2023-10-24
작성자
탈퇴*원
첨부파일

prnt 메소드의 myVar 변수를 지역변수로 본다면 prnt 메소드가 끝나고 메인 함수로 돌아가 printf문을 만났을 때 myVar.a와 myVar.b의 값이 10과 20이어야 하는 거 아닌가요,,? 

리턴 값이 없는데 prnt 메소드의 myVar.a~c의 값이 왜 메인 함수의 값으로 리턴되는 건가요?

 

예상문제 9번(p.253)의 경우 n이 지역변수이기 때문에 메인함수의 n 값이 10으로 출력되었던 것과 다른 건가요?

답변
2023-10-25 21:48:46

안녕하세요 길벗수험서 운영팀입니다.

 

객체변수 또는 배열의 경우 이름만을 인수로 보냈을 때에는 (ex: prnt(객체변수명) or prnt(배열명))

값(value)이 전달되는 것이 아닌 메모리의 주소(address)가 전달되는 형태이기 때문에 함수 또는 메소드에서의 변화가 메인 함수, 메인 메소드에서도 동일하게 적용됩니다.

 

행복한 하루되세요 :)

  • 관리자
    2023-10-25 21:48:46

    안녕하세요 길벗수험서 운영팀입니다.

     

    객체변수 또는 배열의 경우 이름만을 인수로 보냈을 때에는 (ex: prnt(객체변수명) or prnt(배열명))

    값(value)이 전달되는 것이 아닌 메모리의 주소(address)가 전달되는 형태이기 때문에 함수 또는 메소드에서의 변화가 메인 함수, 메인 메소드에서도 동일하게 적용됩니다.

     

    행복한 하루되세요 :)

· 5MB 이하의 zip, 문서, 이미지 파일만 가능합니다.
· 폭언, 욕설, 비방 등은 관리자에 의해 경고없이 삭제됩니다.