본문 바로가기

분류 전체보기

(164)
함수의 Default 매개변수 #include using namespace std; void Print(int x = 10, int y = 20, int z = 30) { cout
const 함수 이용 #include using namespace std; class Complex { private: int real; int image; public: void SetComplex() // const 불가능 { real = 2; image = 5; } // 값을 변경하지 않고 출력만 하는 함수 const선언으로 // 값을 변경할 수 없게 선언한다. void ShowComplex() const { cout
inline 함수 #include using namespace std; class Complex { private: int real; int image; public: void SetComplex() { real = 2; image = 5; } void ShowComplex(); }; inline void Complex::ShowComplex() { cout
참조를 리턴받을 때 문제점 함수안에서 선언한 변수를 참조로 리턴받아서 사용하면 함수안에서 사라지는 변수를 리턴받게 되어서 오류가 발생한다. #include using namespace std; int& function(void) { int val = 10; return val; } int main(void) { int& ref = function(); cout
24강 메모리 동적할당 메모리의 구성 프로그램 실행 시 운영체제에 의해서 마련되는 메모리 구조는 네 개의 영역으로 구분이 된다. 코드 영역 데이터 영역 힙 영역 스택 영역 메모리 영역별로 저장되는 데이터 유형 코드 영역 실행할 프로그램의 코드가 저장되는 메모리 공간이다. CPU는 코드 영역에 저장된 명령문들을 하나씩 가져가서 실행을 한다. 데이터 영역 전역변수와 static으로 선언되는 static 변수가 할당된다. 이 영역에 할당되는 변수들은 프로그램의 시작과 동시에 메모리 공간에 할당되어 프로그램 종료 시까지 남아있게 된다는 특징이 있다. 스택 영역 지역변수와 매개변수가 할당된다. 이렇듯 이 영역에 할당되는 변수들은 선언된 함수를 빠져나가면 소멸된다는 특징이 있다. 힙 영역 프로그래머가 원하는 시점에 변수를 할당하고 소멸하..
23강 파일의 입력과 출력 프로그램상에서 파일에 저장되어 있는 데이터를 참조하길 원한다면 내가 구현한 프로그램과 참조할 데이터가 저장되어 있는 파일 사이에 데이터가 이동할 수 있는 다리를 놓아야 한다. 이런 데이터 이동의 경로가 되는 다리를 '스트림(stream)'이라고 한다. #define _CRT_SECURE_NO_WARNINGS #include int main(void) { FILE* fp = fopen("data.txt", "wt"); if (fp == NULL) { puts("파일오픈 실패!"); return -1; } fputc('A', fp); fputc('b', fp); fputc('c', fp); fclose(fp); return 0; } 프로그램을 실행시켜 A,b,c를 data.txt파일에 입력시켰다. wt로 접..
21강, 22강 TYPEDEF, 공용체, 열거형 typedef의 사용법을 알아보자. #include typedef struct sbox { int mem1; int mem2; double mem3; }SBox; typedef union ubox { int mem1; int mem2; double mem3; }UBox; int main(void) { SBox sbx; UBox ubx; printf("%p %p %p \n", &sbx.mem1, &sbx.mem2, &sbx.mem3); printf("%p %p %p \n", &ubx.mem1, &ubx.mem2, &ubx.mem3); printf("%d %d \n", sizeof(SBox), sizeof(UBox)); return 0; } typedef 선언으로 데이터형의 별명을 지어줄 수 있다. 공용체를..
20강 구조체 구조체의 사용법 #include struct point { int xpos; int ypos; }; struct person { char name[20]; char phoneNum[20]; int age; }; int main(void) { struct point pos = { 10,20 }; struct person man = { "이승기", "010-1212-0001", 21 }; printf("%d %d \n", pos.xpos, pos.ypos); printf("%s %s %d \n", man.name, man.phoneNum, man.age); return 0; } #include struct point { int xpos; int ypos; }; int main(void) { struct po..