C언어 함수 function
C언어 함수 function
■ 대부분의 프로그램은 시작하는 위치가 있고 그곳을 main이라는 이름으로 표시한다. c언어 역시 main()이라는 함수가 있고, 그 함수의 시작점({)에서 프로그램이 시작되며 빠져나오면서(}) 프로그램은 종료된다. 즉, 어떤 코드를 실행하기 위해서는 main()이라는 함수안에 위치해야 한다. 하지만 엄청나게 많은 내용을 모두 main()안에 작성하는 것은 무리가 있기 때문에 여러 개의 함수를 만들어 놓고... main()에서는 그 녀석들을 호출해서 사용하기만 하면 된다. 즉, 함수란 매인 함수가 해야 할 일들을 분담하는 정도로 이해하면 될것같다.
C언어 함수의 기본 형식은 다음과 같다.
int[반환되는 자료형] main[함수이름] (void)[전달 인자]{
실행코드;
}
■ 이렇듯 함수는 입력되는 전달인자로 내용부를 실행한 후 호출한 곳으로 값을 반환해주는 형태로 이루어지는 게 대부분이지만 전달인자가 없거나 반환되는 값이 없는 경우도 있다. 각 상황에 맞는 함수를 다음 글부터 하나씩 만들어보기로 하고 이번에는 printf() 함수를 통해서 입력 또는 출력이 없는 경우를 확인해보자.
이 함수는 인자로 전달되는 내용을 참조해서 그 값들을 화면에 출력하는 기능을 하는데... 화면에 데이터만 출력하고 호출한 곳으로 값을 반환할 필요성은 없다. 실제로는 값을 반환하지만... 본연의 임무인 모니터에 출력을 한 후에는 굳이 반환을 하지 않아도 문제는 없다. 이렇듯 값을 반환할 필요가 없어도 함수에 해당하며 입력이나 반환을 하지 않는 함수도 존재한다.
printf() 함수는 값의 반환 대신에 화면에 출력하는 역할을 하지만 실제로는 출력된 문자열의 길이를 반환한다.
▲ 예제에서는 printf() 함수에 각각 문자열을 인자로 전달하고 있으며.... 반환되는 내용을 확인하기 위해서 su1과 su2에 그 값을 저장하고 출력하고 있는 모습이다.
▲ "\n"까지 추가해서 문자열의 길이를 반환하고 있다. 한글은 2byte로 표현되기 때문에 한 글자마다 2로 계산되고 있다. 여기서 중요한 건 함수가 꼭 입력되고 반환되는 값이 필요한 것은 아니고.... 화면에 출력하는 역할만 하는 printf() 함수도 실제로는 반환되는 값이 있다는 점이다.