반응형

c++ 3

정적할당과 동적할당

우리가 프로그래밍을 할때 변수를 할당하는 메모리 영역은 크게 스택(stack) 영역과 힙(heap) 영역으로 나뉘어집니다. 스택 영역은 메모리 영역중 매우 적은 영역만을 할당받고 있으며, 나머지 대부분의 영역이 힙 영역입니다. 데이터 구조상 힙 영역이 더 큰 공간을 사용하기에 합리적이기 때문이죠. (이것에 대한 지식은 자료구조 관련 서적을 보시기 바랍니다.) C++ 코드를 예로 들어가며 설명해드리겠습니다.int a = 73; char string[100]; strcpy(string, "abc");코드1. 정적할당의 예 위와 같이 일반적인 변수선언은 스택영역에 메모리를 할당해줍니다. a라는 변수는 정수형이므로 스택영역에 4바이트를, string이라는 변수는 문자형 배열 100칸이므로 1바이트*100인 10..

동적할당과 생성자 및 소멸자

명함 정보를 지닐 수 있는 클래스를 정의해 보자. 클래스 이름은 NameCard이고 이름, 전화번호, 주소,직급 정보를 저장할 수 있어야 한다. 생성자 내에서 동적 할당하고, 소멸자에서 할당받은 메모리를 해제하는 형식으로 구현하라. #include "stdafx.h" using std::cout; using std::endl; using std::cin;class NameCard{ private: char* name; char* phone; char* address; char* pos;public: NameCard(char* _name, char* _phone, char* _address, char* _pos){ name=new char[strlen(_name)+1]; //생각이 나지 않았던 부분. ne..

반응형