책 내용 질문하기
사용자 정의 함수에서요
도서
2017 시나공 정보처리기사 실기(산업기사 포함) 특별개정판
페이지
85
조회수
56
작성일
2017-06-15
작성자
탈퇴*원
첨부파일

1권 85쪽 예제 1번을 보면

위의 선언부는 void func(int i, int j); 라고 되어있구요.

메인함수 밑의 정의부는

void func(i, j)

int i, j;

{

i *= 3;

j /= 3;

printf("%d, %d\n", i, j);

}

이라고 되어있는데요.

이 경우 보통 함수 정의부는

void func(int i, int j)

{

...

}

으로 이어지지 않나요?

예제에서는 중괄호도 변수 선언 뒤에 나오고,.. 처음보는 형태라 원래 가능한건지 여쭤봅니다!

답변
2017-06-15 11:26:59

안녕하세요.

main() 함수 전에 사용자 정의 함수가 선언되면 "아 이런 함수가 사용되는 구나"라고 인식만 되고 지나갑니다.

C언어는 무조건 main() 함수에서 시작하기 때문이죠.

다음과 같이 사용자 정의 함수를 main() 함수 이전에 작성해도 됩니다.

물론 main() 함수 이전에 단순히 선언이 아니라 사용자 정의 함수가 작성되었다고 하더라도

실제 처리는 main() 함수에서 해당 함수가 호출 되었을 때 사용됩니다.

void func(i, j)

int i, j;

{

i *= 3;

j /= 3;

printf("%d, %d\n", i, j);

}

main()

{

....

}

이렇게 작성해도 됩니다.

오늘도 즐거운 하루 되세요.

  • *
    2017-06-15 11:26:59

    안녕하세요.

    main() 함수 전에 사용자 정의 함수가 선언되면 "아 이런 함수가 사용되는 구나"라고 인식만 되고 지나갑니다.

    C언어는 무조건 main() 함수에서 시작하기 때문이죠.

    다음과 같이 사용자 정의 함수를 main() 함수 이전에 작성해도 됩니다.

    물론 main() 함수 이전에 단순히 선언이 아니라 사용자 정의 함수가 작성되었다고 하더라도

    실제 처리는 main() 함수에서 해당 함수가 호출 되었을 때 사용됩니다.

    void func(i, j)

    int i, j;

    {

    i *= 3;

    j /= 3;

    printf("%d, %d\n", i, j);

    }

    main()

    {

    ....

    }

    이렇게 작성해도 됩니다.

    오늘도 즐거운 하루 되세요.

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