int arr[3][3] 일케 2차원 배열을 정의해두면 arr=&arr[0][0] 으로 배웟는데 printf("%d" , *arr) 하면 이상한 값나오고 printf("%d", **arr) 하면 arr[0][0] 값이 나오던데 왜 그런지 아니..???
*arr 의 타입은 int * **arr 의 타입은 int
정확히 말하면 배열의 이름은 해당 배열의 0번째 요소의 주소다.
아니지 않냐? 배열의 이름은 길이도 같이 가지고 있잖아. 그걸 포인터로 넘기면 그때서야 니 말대로 되는거고.
이차원 배열의 0번째 요소는 1차원 배열임
1차원 배열의 주소는? int형 요소의 주소를 가리키니까 int**가 됨
int a[10] &a 의 타입은 int (*)[10] 이다.
더블포인터를 모르느냐 - dc App