hello world코드로 보는 함수
본격적으로 c언어를 들어갈 때 처음 배운 hello world를 출력하는 코드를 보자. 맨 처음 int main(void)로 시작하고 스코프{ }를 열어서 printf("Hello world!"; return 0;으로 마무리를 지어 준다. 이때의 main은 함수다. int는 정보를 뜻하고, main은 이름을 뜻하며, (void)는 매개변수를 뜻하며, 여기서 매개변수는 없다(void). 이 int는 반환하는 값으로 반환 자료형 이라고 한다. 이 반환되는 값은 return 0;에서 나온다. int 자료형 으로 0이 끝에 반환되는 것이다.
함수
예전에 함수(function)는 프로그램을 이루는 부품이나, 프로그램을 만드는 도구라고 함수에 대해 배우기 전에 가볍게 이해하는 정도로 설명했었다.
함수를 도구라는 측면에서 보면, ‘CRL‘라 할 수 있다. p/g을 가구로 비유하면, ’CRL‘은 톱과 망치로 비유할 수 있다. main함수와 같은 틀이 있는 함수다.
부품이라는 측면에서 보면, ’사용자정의 함수’라고 할 수 있다. 이때 함수는 사용자가, 코드를 만드는 사람이 직접 만드는 함수로, 가구를 직접 만드는 목재나 그 외의 모든 것으로 비유할 수 있다. 이 함수가 흐름을 직접 만드는데, 이것으로 p/이 만들어 지는 것이다.
도구로 봤을 때의 함수
여기서 중요히 봐야할 점은 도구란 측면에서의 함수의 틀인데, 반환자료형 + 이름 + (매개변수) 이 세 개의 형식으로 함수라 할 수 있는 것이다. 이것을 알기 쉽게 비유하자면, 함수의 이름부분은 톱으로 비유할 수 있다. 그리고 함수의 (매개변수)부분은, 손잡이라고 비유할 수 있다. 매개변수에 손을 한손으로 톱을 쓸지, 두 손으로 쓸지가 정해지는 것이다. 그리고 함수가 톱질의 작용을 한다고 보면, 여기서 함수의 반환자료형은 절단이 되는 것이다. 매개변수는 경우의 수에 따라 결정이 나는 문젠데, 이를 쉽게 이해하기 위해서 다시 영상에선 비유했다.
반환자료형을 커피, 이름을 자판기, (매개변수)는 (메뉴, 돈)으로 비유할 수 있다. 여기서 매개변수에 메뉴를 입력하고 돈을 입력해주면, 그에 따라서 커피라는 반환자료형을 얻을 수 있는 것이다. 이것이 자판기라는 함수 이름이다.
수학시간에 배운 것과 마찬가지라 생각해도 이해가 쉽게 될 것이다. x+t= 0, y= t²에서 t가 바로 매개변수가 되는 것이다. 다르게 말하자면, 주는 것이 있으면, 받는 것이 있듯이, 함수가 뭔 일을 만들어 낼 때, 입력받는 값의 그릇을 매개변수라 한다. 그때 그릇에 담기어서 왔다 갔다 하는 값이 바로 전달인자다.
'c언어 > 워딩(미정리)' 카테고리의 다른 글
함수 설계 원칙 (0) | 2019.07.08 |
---|---|
함수의 문법, 호출 (0) | 2019.07.08 |
다차원배열의 간접지정연산 (0) | 2019.07.08 |
다차원배열 (0) | 2019.07.08 |
배열 (0) | 2019.07.08 |