C언어에서 함수라고 하면 크게 두 가지로 나뉠 수 있다. 물론 이것은 JAVA(타입 1이 약간 다름), C++(타입 2가 약간 다름), Python(둘 다 다름), Python 3(타입 1이 약간 다름)에도 개념은 있다.
타입 1
은 printf()와 같이 사용하는 것이다. 이런 문장에서는 마침표(.)처럼 세미콜론(;)를 찍어주어야 한다. 아니면
Compilation Error Expected ';' before ___ token
같은 에러가 나온다.
printf()함수는
printf("%d", 123);
와 같이 출력하려는 내용이 콸호에 있어야 한다.
하지만 <stdlib.h>헤더파일을 호출하면 난수 기능을 사용할 수 있다. rand()는 괄호에 아무것도 쓰지 않는다.
괄호 안에 들어가는 내용을 매개변수(parameter)라고 하는데 매개변수가 void면 괄호가 빈다.
타입 2
타입 2는 다시 Hello World 프로그램을 보자.
#include <stdio.h> int main(){ printf("Hello World"); return 0; } #include <stdio.h> int main(void){ printf("Hello World"); return 0; }
그러면 int main()도 함수이다.
int main(void){
return 0;
}
의 형태로 존재한다.
C언어에서 프로그램은 모두 main에서만 실행되고 나머지 부분들은 나중에 다루기로 하자.