책 내용 질문하기
순서가 왜 이러죠? 위에서 아래라더니ㅠㅠ
도서
2019 시나공 정보처리기사 실기(산업기사포함)
페이지
88
조회수
105
작성일
2019-06-12
작성자
탈퇴*원
첨부파일
예제1에서 교재 설명대로 1,2,3까진 이해가 됐는데 왜 바로 출력함수는 무시하고 그 다음인 void func(i,j)로 가나요? 호출했다는 게 설명을 위한 표현인건지 뭔지도 모르겠고요. 호출하는 함수가 따로 있는 것도 아닌데 초보 비전공자 입장에서는 순서를 왜 건너 뛰는 지 모르겠습니다.
답변
2019-06-12 14:55:48

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

 

자주 사용하는 함수를 예로 들어보죠.

 

printf("%d", a);

위 함수는 화면에 "%d" 형식으로 a를 출력하는 함수입니다.

printf라는 함수는 맨 위에서 선언한 stdio.h라는 헤더파일에 저장되어 "%d"라는 값과 a라는 값을 받아 이를 처리하여 결과를 나타냅니다.

 

사용자 정의 함수는 이러한 함수를 만드는 것과 같습니다.

다만 기존에 만들어진 것이 아닌 사용자가 직접 만드는 것만이 다를 뿐이죠.

때문에 내가 정수 i와 j를 받아들여서 처리하는 func라는 함수를 만들었다면, func(1, 2)라고만 치면 해당 함수가 호출되어 처리해주는 것입니다.

 

다만 프로그램의 특성상 main()에 들어가기 전에 미리 선언이 되어주어야 하기 때문에 ①에서 먼저 선언해준 뒤 상세한 처리과정은 ④~⑩에서 정의하고 있죠.

 

때문에 만약 코드의 앞줄에서 사용자 정의함수가 선언되었다면 이후 main()에서 이 코드가 나올 것을 예비하고, 코드를 한줄 한줄 수행하다가 해당 코드가 등장한다면 해당 코드의 상세한 처리과정이 적혀 있는 부분으로 처리를 옮겨 해당 처리과정을 수행해주어야 합니다. 처리과정이 종료되었다면 main()에서 함수가 호출되었던 다음부분으로 돌아가 남은 부분을 수행하면 됩니다.

 

행복한 하루되세요 :)

  • 관리자
    2019-06-12 14:55:48

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

     

    자주 사용하는 함수를 예로 들어보죠.

     

    printf("%d", a);

    위 함수는 화면에 "%d" 형식으로 a를 출력하는 함수입니다.

    printf라는 함수는 맨 위에서 선언한 stdio.h라는 헤더파일에 저장되어 "%d"라는 값과 a라는 값을 받아 이를 처리하여 결과를 나타냅니다.

     

    사용자 정의 함수는 이러한 함수를 만드는 것과 같습니다.

    다만 기존에 만들어진 것이 아닌 사용자가 직접 만드는 것만이 다를 뿐이죠.

    때문에 내가 정수 i와 j를 받아들여서 처리하는 func라는 함수를 만들었다면, func(1, 2)라고만 치면 해당 함수가 호출되어 처리해주는 것입니다.

     

    다만 프로그램의 특성상 main()에 들어가기 전에 미리 선언이 되어주어야 하기 때문에 ①에서 먼저 선언해준 뒤 상세한 처리과정은 ④~⑩에서 정의하고 있죠.

     

    때문에 만약 코드의 앞줄에서 사용자 정의함수가 선언되었다면 이후 main()에서 이 코드가 나올 것을 예비하고, 코드를 한줄 한줄 수행하다가 해당 코드가 등장한다면 해당 코드의 상세한 처리과정이 적혀 있는 부분으로 처리를 옮겨 해당 처리과정을 수행해주어야 합니다. 처리과정이 종료되었다면 main()에서 함수가 호출되었던 다음부분으로 돌아가 남은 부분을 수행하면 됩니다.

     

    행복한 하루되세요 :)

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