int arr[4][4] = { { 1, 2, 3, 4 }, { 5, 6, 7, 8 }, { 9, 10, 11, 12 }, { 13, 14, 15, 16 } };



void Inside(int(*arr)[4])//내부의 배열을 시계방향으로 회전시키는 함수
{
 int change[4] = { arr[1][1], arr[1][2], arr[2][1], arr[2][2] }; //내부의 정사각형의 좌표 6,7,10,11
  arr[1][1] = change[3];
  arr[1][2] = change[0];
  arr[2][1] = change[1];
  arr[2][2] = change[2];
}

void Outside(int(*arr)[4])
{
 int arrpoint[4] = { arr[0][0], arr[0][3], arr[3][0], arr[3][3] }; //정사각형의 꼭지점의 좌표를 저장
 int arr1[2] = { arr[0][1], arr[0][2] }; //2와 3
 int arr2[2] = { arr[1][3], arr[2][3] }; //8과 12
 int arr3[2] = { arr[3][1], arr[3][2] }; //14와 15
 int arr4[2] = { arr[1][0], arr[2][0] }; //5와 9

 arr[0][0] = arrpoint[2];
 arr[0][3] = arrpoint[0];
 arr[3][0] = arrpoint[3];
 arr[3][3] = arrpoint[1];
}


위에처럼 2차원 배열arr을 함수 외부에 선언했는데

2차원배열에 1차원배열 값을 저장못하나요?

2차원 arr에서 원소 몇개를 1차원 배열의 값으로 변경하려고 만든 함수인데 실행하면 오류가 뜨네요.

뭐가 문제인지 알려주시면 정말 감사하겠습니다!