-----------------------------------------------------
-----------------------------------------------------
-----------------------------------------------------
여기서 정의된 hello 함수는
함수의 이름 앞에 void가 있으므로
반환형이 없습니다.
함수의 이름 뒤에 void가 있으므로
입력이 없습니다.
-----------------------------------------------------
그리고 3번째 줄 부터 6번째 줄까지
함수의 기능이 들어있는 것을
함수의 정의라고 합니다.
10번째 줄은
함수의 호출이라고 합니다.
-----------------------------------------------------
실행결과는 다음과 같습니다.
-----------------------------------------------------
다음 예제를 살펴보면
hello 함수에
반환형은 없고
입력 부분에
int num이라는 매개변수가 있으므로
정수 값 한 개를 입력 받을 수 있습니다.
-----------------------------------------------------
14번째 줄은
함수의 호출이고
hello 함수를 호출하면서
입력으로 3을 주라는 문장입니다.
-----------------------------------------------------
따라서
매개변수 num이 3을 넘겨 받고
함수는 hello world!를 3번 출력하게 됩니다.
-----------------------------------------------------
실행 결과는 다음과 같습니다.
-----------------------------------------------------
다음 예제를 살펴보면
multiple함수에서
두 수를 입력받아
두 수의 곱을 반환합니다.
-----------------------------------------------------
함수의 반환형은 int 라서 정수를 반환하고
입력은 void라서 입력이 없습니다.
함수내부에서
scanf_s함수를 실행하여
두 변수에 값을 입력받고
곱한 값을 반환합니다.
즉, return num1*num2 합니다.
-----------------------------------------------------
그리고 우리는
이 multiple함수의 기능이 정의된
이 부분을 함수의 정의라고 합니다.
그리고
main함수에서
multiple함수를 호출합니다.
-----------------------------------------------------
multiple 함수를 실행하고나면
num1 * num2 값이 반환되어
num1 * num2 값이 남기 때문에
result에는
num1 * num2 값이 들어가게 됩니다.
-----------------------------------------------------
실행결과는 다음과 같습니다.
-----------------------------------------------------
다음 예제를 살펴보겠습니다.
add함수가 있고
입력받은 두 값을 더하는 기능을 가집니다.
-----------------------------------------------------
여기서는 add 함수의 정의의 위치가 main함수 아래로 내려갔습니다.
이러면 main함수에서 add함수를 인식하지 못하므로
3번째 줄에서
함수의 선언이라는 것이 추가 되었습니다.
사실 함수의 선언이라는 말보다는
이것은 형태만 만들고 기능은 완성하지 않은 미완성품이기 때문에
함수 미완성품
즉, 함수 프로토타입이라고 하는것이 더적절합니다.
-----------------------------------------------------
7번째 줄은
add함수를 호출하며 입력으로 3과 4를 준다는 뜻입니다.
-----------------------------------------------------
이 3과 4는
add함수의 매개변수
n1과 n2로 복사됩니다.
-----------------------------------------------------
실행결과는 다음과 같습니다.
-----------------------------------------------------
'C_프로그래밍' 카테고리의 다른 글
[C 프로그래밍] 30장. 1차원 배열 (0) | 2020.04.05 |
---|---|
[C 프로그래밍] 29장. 재귀함수 (0) | 2020.04.05 |
[C 프로그래밍] 27장. 함수(1) (0) | 2020.04.05 |
[C 프로그래밍] 26장. for 반복문 (0) | 2020.04.05 |
[C 프로그래밍] 25장. do~while 반복문 (0) | 2020.04.05 |