1. 함수(Function)
- 함수란 특정 작업을 수행하는 코드 집합으로 정의 가능하다.
- 다음과 같은 구성을 띄고 있다고 생각하면 된다.
int func(int x, int y){
}
- 여기서 int는 함수의 return type, func은 함수명, ()안의 변수는 매개 변수, {}는 함수 몸체이다.
1.1. 두 수를 곱하는 함수
- 간단한 예시로 두 수를 곱하는 함수를 C++로 작성해보자.
#include <iostream>
int multi(int x, int y){
int result = x * y;
return result;
}
int main(){
int _multi = multi(2,3);
std::cout << "result: " << _multi << std::endl;
return 0;
}
----- Output -----
result: 6
1.2. 포인터를 매개변수로!
- 어떤 변수에 1을 더해주는 함수를 만들고 싶다고 생각해보자.
- 그럼 다음과 같이 작성할 거라고 생각이 들 것이다.
#include <iostream>
void add_1(int x){
x = x + 1;
}
int main(){
int n = 2;
add_1(n);
std::cout << "result: " << n << std::endl;
return 0;
}
---------- Output ----------
result: 2
- 하지만 n의 값이 1이 증가하지 않고 그대로 2라는 것을 알 수 있다.
- 이 이유는 함수에서의 매개변수와 외부에서의 변수는 다른 메모리 주소를 가지고 있기 때문이다.
- 그래서 포인터로 같은 메모리 주소를 할당시켜주면 된다.
#include <iostream>
void add_1(int *x){
*x = *x + 1;
}
int main(){
int n = 2;
add_1(&n);
std::cout << "result: " << n << std::endl;
return 0;
}
------------ Output ------------
result: 3
- 성공적으로 1이 더해진 모습을 볼 수 있다.
'CS Study > C++' 카테고리의 다른 글
[C++] [7] 정적 변수(static) 상수 변수(const) (0) | 2024.12.20 |
---|---|
[C++] [6] 구조체 (struct) (3) | 2024.12.20 |
[C++] [4] 포인터와 메모리 (2) | 2024.12.20 |
[C++] [3] 형식 변환 (type casting) (0) | 2024.12.18 |
[C++] [2] 변수의 유효 범위(variable scope) (0) | 2024.12.18 |