[c++] 2차원 배열 동적 할당

jh Seo·2022년 6월 14일
1

C++공부

목록 보기
14/21
post-custom-banner

c++에서 1차원 배열 동적 할당은

int N=0;				//입력받을 변수 선언
cin>>N;					
int* arr=new int[N];	//int arr[N];

이런 식으로 값을 입력받아 할당할 수 있지만
2차원 배열에서 동적 할당은

int N=0,M=0;	//입력받을 변수 선언
cin>>N>>M;
int** arr=new int*[N];	//행 할당해주고
for(int i=0;i<M;i++){
	arr[i]=new int[M];	//열 할당해준다.
}

이런 식으로 이뤄진다.

여담으로 C에선 new키워드가 없으므로 malloc을 이용해야한다
이차원 배열을 동적으로 할당하기 위해서 이중포인터를 사용해보면

	int** arrArr;
	arrArr = (int**)malloc(sizeof(int*) * 10);

	for (int i = 0; i < 10; i++) {
		arrArr[i] = (int*)malloc(sizeof(int) * 10);
	}

이런식으로 짜야한다.

profile
코딩 창고!
post-custom-banner

0개의 댓글