c 초보자의 배열 포인터 관련 에러
조회수 541회
2차원 배열에 관한 문제를 풀다가 혼자서 막 풀어보려고 하다가 혼란스러운 부분이 생겨서 질문드립니다.
void changeArr(int*(*arr)[4])
{함수내용 생략}
int main ()
{
int arr[4][4] = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16};
int i,j;
int *(*ptr)[4];
ptr = &arr;
changeArr(&ptr);
return 0;
}
제가 하려는 것은 arr를 포인터로 changeArr함수로 넘겨서 call by reference로, arr값에 변화를 주려고 합니다.
그래서 arr[4][4]의 포인터역할을 해줄 int* (*ptr)[4]를 선언했고 ptr이 arr의 주소값을 받을수 있도록 ptr = &arr를 선언해줬는데 컴파일을 할때마다 type이 다르다고 에러가 나옵니다.
제가 무엇을 잘못한걸까요?
-
(•́ ✖ •̀)
알 수 없는 사용자
댓글 입력