(c++)다차원 배열 동적할당 시 프로그램이 죽는 문제...
글쓴이: bluehat / 작성시간: 월, 2012/11/05 - 4:25오후
안녕하세요,
아래와 같이 3차원 배열을 동적할당하는 함수를 만들었습니다.
#include <iostream> #include <fstream> using namespace std; void initarray(int ****a, int s1, int s2, int s3) { //*a=NULL; *a=new int**[s1]; for(int i=0;i<s1;i++) { *a[i]=new int*[s2]; //(int**)malloc(sizeof(int*)*s2); for(int j=0;j<s2;j++) *a[i][j]=new int[s3];//(int*)malloc(sizeof(int)*s3); } //배열을 15로 초기화 for(int i=0;i<s1;i++) for(int j=0;j<s2;j++) for(int k=0;k<s3;k++) *a[i][j][k]=15; } int main() { int ***dd; initarray(&dd, 10, 10, 2); cout << dd[1][1][1]; return 0; }
VS2008에서 이 코드를 실행하면 main.exe의 작동이 중지되었습니다. 문제가 발생하여 프로그램 작동이 중지되었습니다. Windows에서 해당 프로그램을 닫고 해결 방법이 있는지 알려준다고 합니다;;
제가 어떤 실수를 했는지 모르겠습니다. 고수님들의 도움을 좀 부탁드립니다.
감사합니다.
Forums:
우선순위를 바꾸어봤더니 정상
우선순위를 바꾸어봤더니 정상 동작하는군요.
저는 이렇게 생각했습니다.
댓글 달기