전체 글(322)
-
10. [C++] 참조자(Reference)와 함수2
🍃 참조자를 이용한 Call-by-reference의 황당함과 const 참조자 포인터는 잘못 사용할 확률이 높고, 참조자의 활용이 상대적으로 쉽기 때문에 참조자 기반의 함수정의가 더 좋은 선택이라고 생각할 수 있다. 하지만 참조자 기반의 함수정의에 좋은 점만 있는 것은 아니다. int num = 24; HappyFunc(num); cout
2024.04.11 -
9. [C++] 참조자(Reference)와 함수
🍃 Call-by-value & Call-by-reference Call-by-value 값을 인자로 전달하는 함수의 호출방식 Call-by-reference 주소 값을 인자로 전달하는 함수의 호출방식 이 중, Call-by-value 기반의 함수는 다음과 같이 정의된 함수를 의미한다. int Adder(int num1, int num2) { return num1 + num2; } 위 함수는 두 개의 정수를 인자로 요구하고 있다. Call-by-value 형태로 정의된 함수의 내부에서는, 함수외부에 선언된 변수에 접근이 불가능하다. 따라서 두 변수에 저장된 값을 서로 바꿔서 저장할 목적으로 다음과 같이 함수를 정의하면 원하는 결과를 얻을 수 없다. Call-by-value 기반의 함수 void SwapB..
2024.04.11 -
8. [C++] 참조자(Reference)의 이해
"참조자"라는 것은 성격상 "포인터"와 비유되기 쉽다. 🍃 참조자의 이해 변수는 할당된 메모리 공간에 붙여진 이름이다. 그 이름을 통해서 메모리 공간에 접근이 가능하다. 그러면 할당된 하나의 메모리 공간에 둘 이상의 이름을 부여할 순 없을까? int num1 = 2010; 위 변수 선언으로 인해 2010으로 초기화된 메모리 공간에 num1이라는 이름이 붙게 된다. int &num2 = num1; 이 코드를 실행하면, num1이라는 이름이 붙어있는 메모리 공간에 num2라는 이름이 하나 더 붙게된다. &연산자는 변수의 주소 값을 반환하는 연산자이기 때문에 헷갈릴 수 있다. 이미 선언된 변수 앞에 & 연산자가 오면 주소 값의 반환을 명령하는 뜻이 되지만, 새로 선언되는 변수의 이름 앞에 등장하면, 이는 참조..
2024.04.11 -
7. [C++] 새로운 자료형 bool
🍃 C언어와 C++에서의 bool형 bool형은 C언어에는 존재하지 않고, C++에서만 존재하는 자료형이었다. 그러나 C의 최근 표준에서는 bool을 기본자료형에 추가하였다. 하지만 상당수의 C 컴파일러가 아직 bool을 지원하지 않는다. 🍃 C참을 의미하는 true와 '거짓'을 의미하는 false 정수 0은 '거짓'을 의미하는 숫자로, 0이 아닌 모든 정수는 '참'을 의미하는 숫자로 정의하고 있다. 따라서 참과 거짓의 표현을 위해 보통 다음과 같이 상수를 정의하는 것이 보통이다. #define TRUE1 #define FALSE0 이러한 참과 거짓의 표현방법은 C++에서도 여전히 사용된다. 그러나 C++에서는 참과 거짓의 표현을 위한 키워드 true와 false를 정의하고 있기에 굳이 매크로 상수를 이..
2024.04.11 -
6. const, 메모리 공간, Call-by-value & Call-by-reference
🍃 C언어의 복습을 유도하는 확인학습 문제 [문제 1] 키워드 const의 의미 키워드 const는 어떠한 의미를 갖는가? 다음 문장들을 대상으로 이를 설명해보자 - const int num = 10; - const int * ptr1 = &val1; - int * const ptr2 = &val2; - const int * const ptr3 = &val3 const int num = 10; ▶ 변수 num을 상수화! const int * ptr1 = &val1; ▶ 포인터 ptr1을 이용해서 val1의 값을 변경할 수 없음 int * const ptr2 = &val2; ▶ 포인터 ptr2가 상수화됨 const int * const ptr3 = &val3; ▶ 포인터 ptr3가 상수화 되었으며, ptr..
2024.04.11 -
01-06 은행계좌프로그램 실습 1단계
프로그램 설명 우리가 구현하고자 하는것은 "은행계좌 관리 프로그램"이다. 1단계에서는 C스타일로 구현하는 것을 목표로 한다. 구현할 기능은 다음과 같다. 기능 1. 계좌개설 기능 2. 입 금 기능 3. 출 금 기능 4. 전체고객 잔액조회 그리고 프로그램의 간결성을 위해 몇 가지 가정을 하겠다. 통장의 계좌번호는 중복되지 아니한다.(중복검사 하지 않겠다는 뜻) 입금 및 출금액은 무조건 0보다 크다.(입금,출금 오류검사 않겠다는 뜻) 고객의 계좌정보는 계좌번호, 고객의 이름, 고객의 잔액 이렇게 세가지만 저장 및 관리한다. 둘 이상의 고객 정보 저장을 위해 배열을 사용한다. 계좌번호는 정수의 형태이다. 내 코드 #include "stdafx.h" #include using namespace std; usin..
2024.04.11