C++ 63

C++ Call by Value와 Call by Reference의 차이

1. 함수의 호출 방식 2가지 함수는 값에 의한 호출 또는 참조에 의한 호출의 두 가지 방식으로 호출될 수 있다. 이 두 가지 방식은 일반적으로 매개변수로 전달되는 값의 유형에 따라 구분된다. 함수에 전달되는 매개 변수를 실제 매개 변수라고 하고, 함수에 의해 수신되는 매개 변수를 형식 매개 변수라고 한다. 2. Call by Value(값에 의한 호출) 매개변수 전달의 값 메서드에 의한 호출에서 실제 매개변수의 값은 함수의 형식 매개변수에 복사된다. 서로 다른 메모리 위치에 저장된 두 개의 매개변수 복사본이 있다. 하나는 original copy고 다른 하나는 function copy다. 함수 내부에서 변경된 내용은 발신자의 실제 매개변수에 반영되지 않는다. Call by Value 예시: // C p..

C++ 2024.04.01

C++ 매개변수 전달 총정리

1. 매개변수 전달의 개념 C++에서는 연산을 수행하기 위해 호출될 때 함수에 데이터를 보내야 한다. 이 데이터를 매개변수 또는 인수라고 하며, C++에서는 각각 장단점이 있는 다양한 매개변수 전달 방법이 있다. 그 다양한 방법에 대해 학습하는 시간을 갖는다. C++에 있는 함수에 매개변수를 전달하는 방법으로는 3가지가 존재한다. ① Value에 의한 전달 ② Reference에 의한 전달 ③ Pointer에 의한 전달 2. Pass by Value Pass by Value 방식에서는 변수의 실제 값을 복사한 다음 원래 변수 대신 함수에 전달한다. 따라서 함수 내부의 매개 변수를 변경해도 함수 외부의 변수의 원래 값에는 영향을 미치지 않는다. 이 방식은 상대적으로 이해하고 구현하기 쉽지만, 값을 복사하는..

C++ 2024.03.30

C++ return문 총정리

1. return문의 개념 return 문은 실행의 흐름을 호출된 곳에서 함수로 반환한다. 이 문은 조건문을 반드시 필요로 하지는 않는다. 문이 실행되자마자 프로그램의 흐름은 즉시 중지되고, 호출된 곳에서 컨트롤을 반환한다. return문은 void 함수에 대해서는 반환할 수도 있고 반환하지 않을 수도 있지만, non-void 함수에 대해서는 반환 값을 반환해야 한다. 구문: return[expression]; return문을 사용하는 방법은 매우 다양하다. 그 방법들에 대해 알아보도록 한다. 2. 값을 반환하지 않는 메서드 C++에서 메서드가 반환 유형일 때 반환문을 건너뛸 수 없다. 반환문은 void 유형에 대해서만 건너뛸 수 있다. 함수가 아무것도 반환하지 않는 경우, void return 유형이 ..

C++ 2024.03.17

C++ 함수(functions) 총정리

1. 함수의 개념 함수는 입력을 받고, 특정한 계산을 하고, 출력을 내는 일련의 문장이다. 우리가 다른 입력에 대해 같은 코드를 몇 번이고 쓰는 것은 분명 번거로운 일이다. 그래서 일반적으로, 또는 반복적으로 수행되는 작업을 결합하여 함수를 만든다. 간단히 말해서 함수는 호출될 때만 실행되는 코드 블록이다. 구문: 예시: // C++ Program to demonstrate working of a function #include using namespace std; // Following function that takes two parameters 'x' and 'y' // as input and returns max of two input numbers int max(int x, int y) { if..

C++ 2024.03.16

C++ 범위 기반 for문 총정리

1. 범위 기반(Range-based) For문의 개념 말 그대로, 범위에 대한 for loop을 실행한다. 컨테이너의 모든 요소와 같은 값 범위에 걸쳐 작동하는 기존의 for loop과 동등한 읽기용으로 사용된다. 더 간단하고 안전하게 배열 및 벡터를 반복한다고 생각하면 된다. 구문: for ( range_declaration : range_expression ) loop_statement Parameters : range_declaration : a declaration of a named variable, whose type is the type of the element of the sequence represented by range_expression, or a reference to that..

C++ 2024.03.14

C++ for, while, do while 루프(Loop) 총정리

1. 루프(Loop)의 개념프로그래밍을 하다 보면, 어떤 연산을 n번 수행할 필요가 있다. 이처럼, 루프는 문장 블록을 반복적으로 실행해야 할 때 사용된다. 예를 들어, "Hello Guti"를 10번 프린트하고 싶다고 가정해 본다. 아래와 같이 두 가지 방법으로 프린트할 수 있다: ① 수동방식(반복방식) 수동으로 C++ 문장을 10번 쓰는 것이다. 그런데 10번이 아닌, 20번 써야 한다고 하면? 20개의 문장을 쓰기 위해 시간이 더 걸릴 것이다. 그렇다면 100번을 써야 한다면? 같은 문장을 몇 번이고 다시 쓰는 것은 정말 정신이 없고 귀찮은 일이 될 것이다. 예시:// C++ program to Demonstrate the need of loops #include  using namespace st..

C++ 2024.03.14

C++ 점프문 총정리

1. 점프문의 개념 점프문은 일부 조건이 충족되면, 프로그램의 흐름을 조작하는 데 사용된다. 프로그램 내부의 루프를 종료하거나, 혹은 계속하거나 함수의 실행을 중지하는 데 사용된다. C++에서 점프문의 종류로는 ① break ② continue ③ goto ④ return 이 있다. 2. Continue문 C++에서 continue 문은 루프를 종료하는 대신, 조건 내부에 선언된 일부 부분을 건너뛰면서 루프의 다른 부분을 실행하는 데 사용된다. 이 문은 루프 내부에 있어야 하는 의사 결정 문과 함께 사용된다. 루프, while 루프, do while 루프 안에서 사용될 수 있다. 구문: continue; 예시: // C++ program to demonstrate the // continue statem..

C++ 2024.03.14

C++ 스위치 문 총정리

1. 스위치(Switch)문의 개념 C++ Switch 문은 주어진 식을 평가하고 평가된 값(특정 조건에 일치)에 따라 해당 식과 관련된 문을 실행한다. 이는 긴 if-else-if 사다리의 대안으로, 식의 값을 기반으로 실행을 코드의 여러 부분으로 쉽게 보낼 수 있다. 즉, 주어진 식의 값을 기반으로 문장의 여러 블록을 실행하는 데 사용되는 흐름 제어 문인 것이다. 스위치 문에 임의의 수의 케이스를 지정할 수 있지만, 경우 값은 int 또는 char 형식만 사용할 수 있다. 구문: switch (expression) { case value_1: // statements_1; break; case value_2: // statements_2; break; ..... ..... default: // def..

C++ 2024.03.12

C++ Nested if문(중첩 if문) 총정리

1. Nested if(중첩 if)문의 개념 중첩 if문은 if문 안에 또 다른 if문이 있는 개념이다. 조건 안의 조건을 구현하고자 할 때 Nested if문을 쓰는 것이다. C++에서는 임의의 중첩 수준을 허용한다. 구문: if(condition1) { // Code to be executed if(condition2) { // Code to be executed } else { // Code to be executed } } else { // code to be executed } 중첩 if else 문의 위 구문에서 내부 if else 문은 조건 1이 참이 되는 경우에만 실행되며, 그렇지 않으면 이 규칙은 내부 if else 문에 적용된다. 예시1에서 우리는 3개의 숫자 중 가장 큰 것을 확인할 ..

C++ 2024.03.10

C++ if else if 총정리

1. if else if의 개념 C++에서 if-else-if 사다리는 사용자가 여러 옵션 중에서 선택할 수 있게 해주는 것이다. 아래의 그림을 통해 쉽게 이해할 수 있을 것이다. 그림에서 볼 수 있듯, ① if 문으로 들어가서 조건을 수행한 뒤, 그 조건이 거짓일 경우 ③ else if 문으로 들어가서 조건을 수행한다. 이때의 조건이 참이면 바로 블록을 탈출하게 되고, 또 거짓이라면 ⑤ 새로운 else if 문으로 다시 들어가서 조건을 수행하는 것이다. 그러고도 거짓일 경우 ⑥ else를 수행하게 된다. 예시1: // C++ program to illustrate if-else-if ladder #include using namespace std; int main() { int i = 20; // Ch..

C++ 2024.03.10
728x90