본문 바로가기

잡동사니/C언어 Study

C언어의 함수에 대해 자세히 알아보자!



   중요한 함수 

C언어에서 정말 중요하다고 할수 있는 함수에 대해 알아보겠습니다. 함수하면 학교다닐때 수학시간에 많이 들어보셨을텐데요. 여러분이 생각하시는 그 함수가 맞습니다. C언어는 거의 함수로 이뤄져 있다고해도 과언이 아닐정도로 함수를 정말 많이 사용합니다. 학교다닐때 수학공부 열심히 안하신분들은 머리가 좀 아플겁니다. 저도 공부안해서 많이 고생하고 있습니다.ㅠㅠ


C언어 함수



   좀더 자세히...

전에 설명을 드렸지만 좀더 자세히 설명드리자면, 함수는 특정 기능을 수행하는 처리단계들 괄호로 묶어서 이름을 붙인거에요. 즉 입력을 받아서 지시대로 처리하고 출력해내는 상자와 같다고 볼수 있어요. C언어를 배우다보면 정말 수많은 함수들이 나와요, 정의되어있는 라이브러리 함수들도 있고, 아니면 함수를 만들어서 써야할 경우도 있어요. 우리가 직접 만드는 함수는 사용자 정의 함수라고 해요 그건 나중에 배울꺼니까 걱정안하셔도 되요.


C언어 함수구조



   함수의 호출과 구조

C프로그램을 구성하는 기본적인 단위인 함수가 언제 실행되는지 살펴보면, 함수안에 있는 문장들은 자동으로 시행되지 않아요. 함수안의 문장이 실행될려면 함수호출이 되야 실행할수 있는데 함수를 호출할려면 함수의 이름을 적어주면 호출되면서 함수안에 있는 문장들을 위에서 아래로 순차적으로 실행되요. 그렇다면 함수의 구조는 어떨까요? 구조는 아래 예를 보면서 설명드릴께요


1 int main(void)

2  {

3  .....

4  .....

5  }


위 예의 1번라인을 보면 전에 설명드린데로 함수 헤더라고 불리워요 좀더 세부적으로 살펴보면 int는 함수의 출력타입을 뜻하고, main은 함수의 이름이고, (void)는 함수의 입력타입 이에요. 여기서 void는 입력이 없다는 뜻으로 알고 계시면 되요. 드다음 { }안에 내용들이 함수의 몸체에요,  { }안에 변수선언이나, 실행문장들을 작성하여 몸체를 구성하는거에요. 이처럼 여러 문장들이 모여 함수가 되고, 또 여러 함수가 모여, C프로그램이 된다고 생각하시면 좀 이해하시기 편하실꺼에요. 



   변수에 대해서

래 함수부분에 대해서만 포스팅할려고 했는데 어찌하다보니 변수도 설명을 드려야할거 같네요. 변수는 쉽게 정의를 내리자면 프로그램이 사용하는데에 일시적으로 저장할 목적으로 사용하는 메모리 공간이에요. 예를 들자면 사용자로부터 숫자나, 문자등등 데이터를 입력받아 프로그램이 처리된후에 결과값을 출력하잖아요? 근데 입력받은 숫자나 문자같은 데이터를 저장을해야 그 데이터를 가지고 컴퓨터가 계산을하던지 할꺼잖아요 이때 데이터를 저장할때 선언하는것을 변수라고 해요. 이해가 좀 되나요?^^;


그럼 변수는 어떻게 사용하느냐? 변수를 사용할려면 먼저 변수를 선언해야해요. 변수선언은 컴파일러에게 이러한 변수를 사용하겠다고 미리 말해두는것과 같다고 보시면 되겠네요. 그리고 또 어떤 타입의 데이터가 해당 변수에 저장이 되는지도 미리 알려줘야해요. 예를들어 int x; 이렇게 변수를 선언한다고 하면 x는 변수이름이 되고, int가 정수자료형 타입이에요. 자료형은 좀 많은 설명이 필요하니 다음시간에 자세히 알려드릴께요.