728x90
반응형
제가 빠르게 복기하기 좋게 정리한 글입니다. 파일을 추가하는 세세한 방법과 과정은 마지막에 첨부된 영상으로 확인하시면 좋을 것 같습니다 :) 강의목차의 번호와 같은 목차번호를 사용하고 있으니 참고하세요!
함수 function : 복잡한 식을 내장시켜 여러번 찍어쓰기에 유용
리턴값 return values : 함수의 출력값, 반환값
매개변수 parameters : 함수의 매개변수
인자 arguments : 매개변수에 input되는 인자
# 함수만들기
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
#include <iostream>
using namespace std;
int addTwoNumbers(int num_a, int num_b)
{
int sum = num_a + num_b;
return sum;
}
int main()
{
cout << 1 + 2 << endl;
cout << addTwoNumbers(1, 2) << endl;
return 0;
}
|
cs |
함수 int addTwoNumbers(int num_a, int num_b)에서
addTwoNumbers(1, 2) 이때의 1과 2는 각각 매개변수로서 함수의 입력값인 int num_a, int num_b (parameter)에 들어가는 인자(argument)이다.
함수 출력으로 sum값을 반환하며 함수를 종료한다.
만약 아래처럼 return 밑에 다시 sum을 새로운 값으로 할당해도 return을 본 컴파일러는 바로 함수바깥으로 나가므로 영향을 받지 않는다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
#include <iostream>
using namespace std;
int addTwoNumbers(int num_a, int num_b)
{
int sum = num_a + num_b;
return sum;
sum = num_a * num_b;
}
int main()
{
cout << 1 + 2 << endl;
cout << addTwoNumbers(1, 2) << endl;
return 0;
}
|
cs |
# 내부작동원리 알아보는 방법 : 로컬디버깅
# 출력 없이 기능만 수행하는 함수 : void함수 : 출력할 자료가 없으므로
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
#include <iostream>
using namespace std;
void PrintHellowWorld(void)
{
cout << "Hellow world!" << endl;
}
int main()
{
PrintHellowWorld();
return 0;
}
|
cs |
# 함수 안에 함수를 불러올 수 있다
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
#include <iostream>
using namespace std;
void PrintHellowWorld(void)
{
cout << "Hellow world!" << endl;
}
void MultiplyTwoNumbers(int num_a, int num_b)
{
PrintHellowWorld();
}
int main()
{
MultiplyTwoNumbers(1,2);
return 0;
}
|
cs |
하지만 함수 안에 함수를 정의하는 것은 문법적으로 불가하다.
# 연습문제
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
//사용자로부터 두개의 숫자를 여러번 입력받아 덧셈해 결과를 출력하는 코드 작성
#include <iostream>
using namespace std;
int AddTwoNum(int a, int b)
{
int sum = a + b;
return sum;
}
int main()
{
int x = 0;
int y = 0;
int z = 0;
int w = 0;
cout << "Before your input, x=y=z=w=" << x << endl;
cin >> x >> y;
cout << AddTwoNum(x, y) << endl;
cin >> z >> w;
cout << AddTwoNum(z, w) << endl;
return 0;
}
|
cs |
출처)
홍정모의 따배씨++
www.youtube.com/playlist?list=PLNfg4W25Tapw5Yx4yuExHNybBIUk68aNz
좋은 강의에 너무나 감사하다.
이전에는 그냥 무작정 따라썼던 코드들을 한줄한줄 이해하며 공부할 수 있다.
언젠가 어느 언어든 자신감이 있는 코드마스터가 될 것이다.
데이터가 인간을 대신해 일을 하게하고
데이터를 제어해 로봇을 제어하고 싶다.
728x90
반응형
'기계공학부 시절의 기록 > C++일기' 카테고리의 다른 글
1.7 지역범위(Local Scope) (0) | 2021.05.02 |
---|---|
1.6 키워드와 식별자 (0) | 2021.05.02 |
1.4 iostream : cin(console-in) cout(console-out) (0) | 2021.05.02 |
1.3 int x = 123; 의 작동원리 : 변수, 초기화, 할당 (0) | 2021.05.01 |
1.2 주석만 잘달아놨어도 하루를 아낄 수 있었을텐데 (0) | 2021.05.01 |
댓글