C언어의 기초 문법

선언과 정의

함수의 얼굴(겉모습)과 뇌(속모습)

함수를 만들 때는 선언과 정의로 분류됩니다. 말 그대로 정의란 함수가 가지고 있는 코드를 예기합니다. 그냥 정의만 할 수는 있습니다. 한 번 예시 프로그램을 보실까요?

int add(int a, int b){
    return a + b;
}

int main(){
    add(1, 2);
    return 0;
}

이렇게 할 수도 있는데, 조금 불편하죠? main함수가 프로그램의 중심이니까 가장 위에 왔으면 좋겠는데, 만약 add함수의 정의가 뒤로 가면 컴퓨터는 인식을 못하고... 그래서 선언이라는 것이 생겼습니다.

int add(int a, int b);

int main(){
    add(1, 2);
    return 0;
}

int add(int a, int b){
    return a + b;
}

위에 일단 저렇게 있으면, 컴파일러(코딩을 0101로 바꾸는 시스템)는 '아 일단 add가 있구나'하고 넘어갑니다. 나중에 main함수에서 add를 선언하면 코드 뒤에로 가서 add의 정의를 보고 다시 돌아와서 코드를 실행합니다. 딱히 쓸모있는 건 아닌데, 정리할 때 좋겠죠.

댓글

댓글 본문
버전 관리
Joel
현재 버전
선택 버전
graphittie 자세히 보기