#include <stdio.h>
int rotate(int *ary[4][4])
{
int i, j;
int* temp[4];
for(i=0;i<4;i++)
for (j = 0; j < 4; j++)
{
*(temp[4]) = *(ary[4]);
*(ary)[j][3 - i] = (temp)[i][j];
}
}
int main(void)
{
int* arr[4][4] = { 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16 };
int i,j;
int* ptr1;
ptr1 = &arr[4][4];
rotate(ptr1);
for(i=0;i<4;i++)
{
for (j = 0; j < 4; j++)
printf("%d ", arr[i][j]);
printf("\n");
}
return 0;
}
뭐가 잘못된지 모르겠어/...
포인터 너무햇결려 모르겠다... ㅋㅋ
완전 엉망임 처음부터 다시 공부해야함
2차원배열이 아니라 3차원배열을 선언해놓음 ptr1 완전 필요없음 2차원배열의 참조는 **arr이나 *arr[]로 함 rotate 함수 리턴값 어디감? 리턴값 없으면 int가 아니라 void로 줘야지
이중포문하면서 괄호처리도 제대로 안 했네... 진짜 이런 이상한거 하지말고 기본부터 다시 ㄱㄱ
그래도 포잉터는 포기하고싶지않어 ㅠㅠ 포인터 전까진 막히지는 않았단말야
게이야 디버깅을 해라 - dc App