반응형
[lv2/C++] 함수(function) 사용 기초
함수(function)란 특정한 작업을 수행하는 독립적인 코드의 집합이라 말 할 수 있다. 함수는 반복되는 기능을 하나로 묶어 프로그램을 모듈화 시킬 수 있고 함수 단위로 프로그램 작성 시 전체 프로그램을 논리적으로 구조화 시킬 수 있다는 장점이 있다.
함수의 기본적인 구조는 아래와 같다.
함수는 필요에 따라 호출하여 사용할 수 있는데 함수 내에서 처리한 결과를 호출한 부분에 돌려줄 수 있다. 이 때 반환되는 자료형에 따라 정수, 실수, 문자열 등을 반환 받거나 void로 선언하여 반환하지 않도록 설정할 수 있다. 인자의 목록에 넘기고 싶은 값이나 변수를 적어 함수의 블록안에서 사용할 수 있다. 간단한 프로그램으로 함수를 사용해보자.
#include <iostream>
using namespace std;
int sum(int x, int y); // 함수의 선언
int main()
{
int a = 3;
int b = 4;
int c = 5;
cout << sum(a, b) << endl; // 함수 호출
cout << sum(b, c) << endl; // 함수 호출
}
int sum(int x, int y) { // 함수의 정의 (내용포함)
int result = x + y;
return result; // 결과 반환
}
함수는 사용하기 전에 사용하겠다고 함수의 원형을 컴파일러에게 선언을 통해서 알려줄 수 있는데 int sum(int x, int y);가 그 방법이다. 함수의 선언은 호출되기 이전에 이뤄져야 한다. 만약 선언식이 호출보다 늦게 처리된다면 식별자를 찾을 수 없다는 C3861 에러코드가 나올 것이다. 위 sum함수의 반환 형식은 int고 함수의 이름은 sum이다 인자의 목록은 2개로 정의 및 선언이 되었고 두 개의 값이 더해져서 반환된다. 함수 호출부분에 반한된 값은 그대로 출력이 되고 프로그램이 마무리 된다.
반응형
'Programming > C, C++' 카테고리의 다른 글
LV2 C++ 재귀(recursion) 호출 (0) | 2022.09.13 |
---|---|
LV2 C++ 값에 의한 호출(Call by Value)과 참조에 의한 호출(Call by Reference) (0) | 2022.09.13 |
LV2 C++ 동적 할당(Dynamic Allocation) (0) | 2022.09.08 |
LV2 C++ 포인터(Pointer) 사용 (0) | 2022.09.08 |
LV2 C++ 포인터 Pointer (0) | 2022.09.06 |