#include<stdio.h>
int main()
{
int (*arr)[5];
int b[5]={1,2,3,4,5};
arr=&b;
printf("%d\n",b);
printf("%d\n",arr[0]);
printf("%d\n",arr);
printf("%d\n",*arr);
printf("%d\n",*(arr[0]));
printf("%d\n",*(arr +1));
printf("%d\n",*(arr[0]+1));
printf("%d\n",arr[0][1]);
return 0;
}
배열 포인터에 대해 실습해보고 있는데요..
궁금한점이.. arr과 *arr을 출력한값이 똑같더라구요...! arr이 가르키는곳의 값을 반환하는게 *arr이라고 배웠는데.. 왜 똑같이 나오는건가요??
b[0]이 나올줄 알았는데..
또 printf("%d\n",*(arr +1)); 의 경우에도 arr이 가르키는것이.. b의 주솟값이니까 *(arr+1)을 하면 쓰레기값이 나올줄 알았는데..
arr 에다가 20이 더한게 나오더라구요.. 왜 20을 더하는진 알겠는데.. 이것도 마찬가지로 b의 주솟값에다가 20을 더한 주솟값이 담고있는 값이 나와야 되는게 아닌가요...? 우으 헷갈리네요...