독개

[C++] 6.12 동적 할당 배열

by #독개#
/*
정적(할당)배열은 컴파일 단계에 배열의 사이즈가 결정되어 있어야(const로)만 사용할 수 있었다
즉 cin이런걸로 받거나 하지 못햇다
동적(할당)배열은 런타임에 배열의 사이즈를 결정하므로 유동적으로 사용가능
*/

#include <iostream>

using namespace std;

int main()
{
	int length;
	cin >> length;

	//int* array = new int[length]; //이렇게하면 내가 assign해준것 외에는 다 쓰레기값을 받아옴
	int* array = new int[length](); //뒤에()를 붙여줌으로써 할당해준것 외에는 다 0
	//int* array = new int[length]{1,2}; //이렇게 유니폼이니셜라이징 해줘도 나머진다 0으로해준다
	array[0] = 1;
	array[1] = 2;

	for (int i = 0; i < length; ++i)
	{
		cout << (uintptr_t) & array[i] << endl;
		cout << array[i] << endl;
	}
	delete[] array;

///---------------------------------------------------------------
	/*
		int array[] = { 1, 2, 3 }; 이렇게 정적배열에서는 [ ] 사이를 비워놔도 뒤에3개의 값을보고 컴파일러가 자연히 int array[3];을 결정해준다
		하지만 동적배열선언에서는 컴파일러가 결정하지 않기때문에 []사이를 비워두면 안된다 오류발생
	*/

///---------------------------------------------------------------

	/*
		resizing이 될까 우선 정적배열은 크기를 바꿀수가없다
		동적배열은 다른 더큰 메모리를 동적할당 받아서 기존것을 복사하면된다
	*/
}

 

 

 

 


🐱‍👓독하게 개발

블로그의 정보

독한 개발자

#독개#

활동하기