기본으로 아래처럼 타입 이름(인자){코드}
로 구성되있습니다.
#include<iostream>
using namespace std;
int sum(int a, int b) {
return a + b;
}
int main() {
cout << sum(10, 20) << endl;
cout << sum(40, 10) << endl;
return 0;
}
타입과 리턴없이 주어진 코드만 수행하고 증발하는 함수입니다.
#include<iostream>
using namespace std;
void output() {
cout << "text func" << endl;
}
void output_num(int a) {
cout << "number func"<< a << endl;
}
int main() {
output();
output_num(10);
return 0;
}
같은 함수명이지만, 자세히 보면 인자의 갯수와 타입이 다릅니다.
물론 포인터 유무도 판별합니다.
#include<iostream>
using namespace std;
int g_num = 0;
void change_num(int a) {
g_num = 10000;
}
void change_num(int *pnum) {
*pnum = 20000;
}
int main() {
cout << g_num << endl;
change_num(g_num);
cout << g_num << endl;
int num = 0;
cout << num << endl;
change_num(&num);
cout << num << endl;
return 0;
}
따로 지정하지 않아도 인자에서 미리 지정합니다.
#include<iostream>
using namespace std;
int default_sum(int a, int b = 10) {
return a + b;
}
int main() {
cout << default_sum(10) << endl;
return 0;
}
-
과제1 : 팩토리얼 계산하는 함수 만들기
-
과제2-(1) : 지역변수를 포인터로 이용해 업데이트하는 함수 만들기
-
과제2-(2) : 아래 코드에서 빈칸을 채워 100을 출력하는 프로그램을 완성하기
#include<iostream>
using namespace std;
int change_score(int *pnum) {
int c_num = 0;
// 이 곳에 과제를 수행하십시오.
return c_num;
}
int main() {
int num = 0;
cout << change_num(&num) << endl;
return 0;
}