DNF LOVE

C++문법> 메모리 동적 할당 본문

Programming/C++

C++문법> 메모리 동적 할당

botho 2019. 10. 23. 16:32
반응형

C++에서 동적할당을 하기 위해서는 포인터 변수를 사용하여 기억공간의 크기 할당과 동시에 시작 주소를 기억하게 한다.

C++에서는 new 연산자를 통해 동적 할당을 하고, delete[] 연산자를 사용하여 할당 기억 공간을 해제 시킨다.(메모리 누수 방지)

 

int main(void)
{
	string stl = "1234";
	int i = stl.length();

	int *Integer = new int[i];

	delete[] Integer;

	return 0;
}

 

메모리 동적할당은 메모리 heap구조에 메모리가 할당되므로

int main(void)
{
	int i[5] = { 1, 2, 3, 4, 5 };
    
    const int index = 5;
    char ch[index] = {'a', 'b', 'c', 'd', 'e'};
    
	for (int j = 0; j < 5; j++) {
		cout << i[j] << ", " << ch[i] << endl;
	}

	return 0;
}

stack 메모리에 할당되는 위와같은 지역변수와는 다른 방식으로 메모리 할당이 되는 것이다.

반응형