포인터 관련 질문
겨루
2023.04.01
질문 제목 : 포인터질문 어째 궁금한거 이것저것 만들어서 하다보니
아래 경우가 이해가 잘안가서 질문드립니다
아래 소스에서 빨간 경우 ptr의 출력이 이해가 안되네요
억지 스런 소스지만 설명좀 부탁드려요
질문 내용 :
#include stdio.h
int main(void)
{
int *arr[2][2]={
{1,2}, // 보기쉽게 잡스런 값
{3,4} //
};
int (**ptr)[2]=arr; // int *(*ptr)[2]=arr; 이게 맞다고는 하지만
// 뻘건 대로 하면 어떤의미가 되며 아래 ptr의 출력 값은 어떤식으로 나오는거조?
//
printf(%p \n, arr);
printf(%p \n, ptr);
printf(%d \n, arr[0][0]);
printf(%d \n, ptr[0][0]);
printf(%d \n, arr[0][1]);
printf(%d \n, ptr[0][1]);
printf(%d \n, arr[1][0]);
printf(%d \n, ptr[1][0]);
printf(%d \n, arr[1][1]);
printf(%d \n, ptr[1][1]);
printf(%p \n, arr[0]+1);
printf(%p \n, ptr[0]+1);
printf(%p \n, arr+1);
printf(%p \n, ptr+1);
return 0;
}