함수
/*
* 2개의 함수로 만든 프로그램
*/
#include <stdio.h>
int sum(int x, int y); // sum 함수 선언
int main(void) // main 함수 시작
{
int a = 10, b = 20;
int result; // 두 정수를 더한 결과(result)를 저장할 변수
result = sum(a,b); // sum 함수 호출
printf("result : %d\n", result);
return 0;
}
int sum(int x, int y) // sum 함수 정의 시작
{
int temp; // 두 정수의 합을 잠시 저장할 변수
temp = x + y; // x와 y의 합을 temp에 보관
return temp; // temp의 값을 반환
} // sum 함수 정의 끝
/*
* 실행결과
* result : 30
*/
- 함수 정의
- 함수명 - 함수의 기능을 충분히 예상할 수 있도록 적절한 단어로 만듦.
- 매개변수 - 함수가 처리할 데이터를 저장하는 변수로 함수명 옆의 괄호 안에 선언, 매개변수의 자료형이 같아도 콤마로 구분해서 따로 선언
- 반환형 - 함수가 기능을 수행한 후 호출한 곳으로 돌려줄 값의 자료형을 적어줌
- 함수 호출
- 만든 함수를 사용하려면 함수를 호출해야 함
- 함수를 호출할 때에는 이름을 사용하며 함수에 필요한 데이터를 괄호 안에 넣어주는데, 이를 '인수(argument)'라고 함.
- 인수는 상수나 변수를 쓸 수 있고 수식을 사용하면 결괏값이 인수로 쓰임.
- 함수를 호출할 때 입력된 a, b의 값은 호출된 함수의 매개변수(parameter)에 복사되어 사용 -> a,b는 각각 int x, int y로 들어가서 사용된다는 의미
result = sum(a, b); // sum함수 호출 - 14행
- 함수 선언
- 컴파일러가 새로 만든 함수를 인식할 수 있도록 알리는 역할, 선언은 함수 원형에 세미콜론을 붙여서 함.
- 정의가 있는데도 선언을 하는 이유
- 함수 선언에서 반환값의 형태 확인
- 함수 호출 형식에 문제가 없는지 확인 -> 함수 선언문에는 매개변수의 개수와 형태에 대한 정보가 있으므로 호출할 때 정확한 값을 주는지 검사 가능
- 함수 선언이 없으면 함수 정의는 항상 함수 호출 이전에 있어야 함.
int sum(int x, int y); // sum 함수 선언 - 7행
// 매개변수의 이름을 생략한 형태
int sum(int, int);
- 함수 반환
- 호출된 함수의 실행이 끝나고 값을 반환할 때 return문 사용
- 코드에서 sum 함수 x, y를 더하고 temp에 저장한 뒤 호출한 곳으로 돌아가기 위해 return 사용. 이 때 temp의 값을 호출한 곳으로 반환
'C언어 > Study' 카테고리의 다른 글
[C언어 공부] 반환값이 없는 함수 (0) | 2024.08.16 |
---|---|
[C언어 공부] 매개변수가 없는 함수 (0) | 2024.08.16 |
[C언어 공부] 함수의 작성과 사용 (0) | 2024.08.16 |
[C언어 공부] break와 continue (0) | 2024.08.16 |
[C언어 공부] 중첩 반복문 (0) | 2024.08.16 |