C공부하던 도중에 동적할당 궁금해서 찾아봤거든?

시키는데로 했는데 왜 안되지?ㅠㅠㅠㅠㅠ

가르쳐줘 형들..ㅠㅠ

밑에는 그냥 혼자 만들어 본 건데

동적할당 저래 하는거 아닌가??

ㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠ


#include <stdio.h>

#include <stdlib.h>


void main()

{

int **arr;

int i,j,k;


printf("% n x n 행렬의 n 입력");

scanf("%d",&k);


arr=(int**)malloc(sizeof(int)*k);


for(i=0;i<k;i++)

arr[i]=(int*)malloc(sizeof(int)*k);


for(i=0;i<k;i++)

for(j=0;j<k;j++)

arr[i][j]=i+j;


for(i=0;i<k;i++)

for(j=0;j<k;j++)

printf("%d ", arr[i][j]);


for(i=0;i<k;i++)

free(arr[i]);

free(arr);


}