2차원배열 사용자정의 함수이용하여 동적할당
유린
2023.04.01
질문 제목 : 2차원배열동적할당 질문질문 내용 :
#include stdio.h
#include windows.h
void arr_insert(int **, int);
int main()
{
int i, j, n;
int **arr;
printf(nxn 배열선언 n? : ); scanf(%d, &n);
arr_insert(arr,n);
for(i=0; in; i++)
{
for(j=0; jn; j++)
{
arr[i][j]=j;
}
}
for(i=0; in; i++)
{
for(j=0; jn; j++)
{
printf(%d , arr[i][j]);
}
printf(\n);
}
return 0;
}
void arr_insert(int **arr, int n)
{
int i;
arr=(int**)malloc(sizeof(int)*n);
for(i=0; in; i++)
{
arr[i]=(int*)malloc(sizeof(int)*n);
}
}
위와 같이 하는데... 함수 진입할때.. **arr 이 초기화 되지않았다고 오류가 뜨네여..
2차원배열 사용자정의 함수이용해서 동적할당하는방법 까먹었어여 ㅠㅠㅠㅠㅠㅠㅠ
고수분들...수정좀 ㅠㅠ
-
아빠몬
다른 함수에 있는 변수를 수정하려면 그 변수의 포인터를 얻어와서 간접 참조로 수정합니다.
그 변수가 이미 초인터라도 포인터변수의 포인터를 얻어와야합니다