C 프로그래밍/6. 함수
6.2 함수의 정의
Recircle
2019. 6. 18. 18:34
사용자 정의 함수를 어떻게 작성하는지에 대해서 살펴보겠습니다.
함수 안에는 함수의 이름, 입력, 출력, 작업에 필요한 문장들이 정의되어야 합니다.
1 2 3 4 5 6 7 | void print_stars() { for (int i = 0; i < 30; i++) { printf("*"); } } | cs |
위 코드가 기본적인 함수의 정의입니다.
1 2 | void print_stars() | cs |
는 통틀어서 함수 헤더라고 부릅니다. 여기서 void 는 반환형, print_stars() 는 함수 이름, () 는 매개변수(6.3에서 자세히 다뤄보겠습니다.)를 뜻합니다.
for (int i = 0; i < 30; i++)
{
printf("*");
}
는 함수 몸체라고 부릅니다.
반환형
함수가 처리를 종료한 후에 호출한 곳으로 반환하는 데이터의 유형을 뜻합니다.
함수 이름
말그대로 함수의 이름을 정해줍니다. 함수의 이름을 정해줄때는 이 함수가 어떤 역할을 하는지 기능을 암시하는 이름으로 적는게 좋습니다.
함수 몸체
함수가 수행하는 작업에 필요한 문장들이 들어갑니다.
함수 몸체 안에서 다른 함수를 호출하는것도 가능합니다.
들여 쓰기를 하는것이 권장됩니다.(가독성 향상)
함수의 호출
함수를 사용하려면 당연히 함수를 호출해야합니다. 함수를 호출하게되면 현재 실행되고있는 코드는 잠시 중단되고 호출된 함수로 이동해서 함수 몸체안의 문장들을 실행한다음 호출한 위치로 되돌아가서 중단되었던 코드를 이어서 실행합니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #include <stdio.h> void print_stars() { for (int i = 0; i < 30; i++) { printf("*"); } } int main() { print_stars(); printf("\nHello World!\n"); print_stars(); printf("\n"); return 0; } | cs |
실행 결과
위 코드처럼 동작합니다. 필요할때 호출하면 해당 위치로가서 star를 출력한다음 다시 돌아와서 실행되는걸 확인할 수 있습니다.
다음 6.3장에서는 매개 변수에 대하여 알아보겠습니다.