-
카테고리
-
세부 분야
프로그래밍 언어
2차원배열2
20.08.08 15:51 작성 조회수 24
0
삭제된 글입니다
답변을 작성해보세요.
1
김태원
지식공유자2020.08.10
scanf("%d", &n);
int array[n][n];
위의 코드 방식은 2차원 배열을 정적으로 할당한 것입니다. 컴파일러에 따라 에러가 날 수 있습니다. 원래 위 코드는 컴파일타임에 2차원배열이 메모리에 할당되는 원리입니다. 컴파일 타임에는 n값을 아직 모르기 때문에 에러가 날 수 있습니다.
2차원 배열을 런타임에 메모리에 할당되는 동적할당을 하고 싶으면
scanf("%d", &n);
int** array=new int*[n];
for(int i=0; i<n; i++) array[i]=new int[n];
위 코드처럼 하는게 정석입니다. C++의 형태이지만 C에서도 될겁니다.
답변 1