포인터를 사용해서 일차원배열을 참조하고 하는것은 이해가 되는데요..
#include<stdio.h>
int main()
{
int i, j;
int arr[2][4] = { 1, 2, 3, 4, 5, 6, 7, 8 };
printf("%d %d %d\n", arr,arr[0],arr[1]);
int(*who_b)[4] = arr;
for (i = 0; i<2; i++)
{
for (j = 0; j<4; j++)
{
printf("%d ", who_b[i][j]);
}
printf("\n");
}
return 0;
}
요로코롬 who_b포인터를 사용하는것은 이해가 잘 안되네요.. ㅠㅠㅠㅠ
arr은 arr[0]의 주솟값을 가지고 있던데.. 어떻게 저 포인터[4]에 넣으면
다 할당이 되는건가요..?
그리고
#include<stdio.h>
int main()
{
int i, j;
int num[3]={1,2,3};
int *p;
p = num;
printf("%d\n", p[2]);
return 0;
}
이걸 실행시키면 num[2]인 3이 나오던데..
포인터가 담고있는 주솟값이 가리키는 메모리에 저장된 값을 출력하려면
앞에 '*'를 붙여야 되는것이 아닌가요? ㅠㅠ 그런데 왜 쟤는.. 능청스럽게 p[2]하면 num[2]가 출력되는지도 잘 모르겠어요..
p[2]가 p+2를 또 뜻하는건가요?? 흐아..