본문 바로가기

열혈강의

[열혈강의 C 포인터] 2 : 포인터 2-1. 포인터의 선언 char* cp는 char형 변수의 주소를 저장하는 포인터 변수 cp를 말한다. char* cp = &c; //c의 주소를 포인터 변수 cp에 대입한다. 2-2. 다차원 포인터 char c = 'A'; char* cp =; char** cpp; //2차원 포인터 변수 선언 cp = &c; cpp = &cp; //2차원 포인터 변수에 1차원 포인터 변수의 주소 대입 - 2차원뿐만 아니라 3차원, 4차원, ..., n차원 포인터 변수까지 만들 수 있다. 2-3. 다차원 포인터의 가/감산 char c = 'A'; //메모리 공간 c의 내용이 'A'이고 주소가 12ff78이면 c + 1; // 'B' &c + 1; // 12ff79 &cpp + 1; // &c의 주소가 12ff78이면 이.. 더보기
[열혈강의 C++] 2장 : bool, new, delete 2-2 : 새로운 형태의 자료형 bool 2-7 : new & delete 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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 #include #define DEBUG 1 //#define DEBUG 0 using std::cout; using std::endl; using std::cin; int main(void) { cout 더보기
[열혈강의 C++] 2장 : 레퍼런스 실습 2-2 : 새로운 형태의 자료형 bool 2-3 : 레퍼런스(Reference)의 이해 2-4 : 레퍼런스와 함수 2-5 : 레퍼런스를 이용한 성능의 향상 2-6 : 레퍼런스를 리턴하는 함수의 정의 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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99.. 더보기
[열혈강의 C++] 2-1 : 들어가기에 앞서서 1. const 키워드의 의미! 다음 문장은 어떤 의미를 지니는가? A. const int n = 10; n을 10으로 상수화시키는 것이다. 그러므로 대입 연산(n = 12;)등을 사용할 수 없다. B. const int* n; : 데이터 상수화 n이라는 포인터 값은 상수화시키지 않고, 그 포인터가 가리키는 메모리 공간을 상수화시키는 것이다. 포인터가 가리키는 데이터 값은 변경될 수 없다. 포인터를 이용한 데이터 변경을 불가능하게 만들고 싶을 때 쓴다. ex)포인터 n이 상수 12를 가리킬 때, 상수 12를 10으로 바꿀 수 없다. 그러나 포인터 n이 변수 a를 가리킬 때, a = 20; 이라는 대입 연산은 가능하다. C. int* const n; : 포인터 상수화 포인터 n이 변수 b를 가리키고 있을 .. 더보기
[열혈강의 C++] OOP 프로젝트 1단계 - 오류 미수정 은행계좌 관리 프로그램 구현 : - 기능 1. 계좌 개설 - 기능 2. 입금 - 기능 3. 출금 - 기능 4. 전체 고객 잔액 조회 - ID(통장 계좌번호)는 중복되지 않는다 -> 계좌 개설시 중복되는 계좌 번호의 입력이 없음 - 입금 및 출금액은 무조건 0보다 크다 -> 항상 0 이상의 값이 입력된 - 고객의 계좌에 관한 정보는 계좌번호, 고객이름, 고객의 잔액 이렇게 세 가지만 저장 및 관리한다. - 저장의 형태는 배열을 사용한다. 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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54.. 더보기
[열혈강의 C++] 연습문제 1-2 : 함수 오버로딩 다음 main함수에서 필요로 하는 swap함수를 구현하라. 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 31 32 33 34 35 36 37 38 39 40 41 #include void swap(int* a, int* b) { int tmp; tmp = *a; *a = *b; *b = tmp; } void swap(char* a, char* b) { char tmp; tmp = *a; *a = *b; *b = tmp; } void swap(double* a, double* b) { double tmp; tmp = *a; *a = *b; *b = tmp; } int main(void) { int num1 .. 더보기
[열혈강의 C++] 연습문제 1-1 : printf와 scanf를 대신하는 입출력 1. 사용자로부터 총 10개의 정수를 입력받아서 그 합을 출력하는 프로그램을 작성해 보자. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 #include int main(void) { int arr[10]; int sum = 0; std::coutarr[i]; sum += arr[i]; } std::cout 더보기