포인터 왕초보 여러가지 질문......
미라
2023.04.01
#includestdio.h
int main()
{
int a=2005;
int *pa=&a;
printf(pa: %d\n,pa);
printf(&a: %d\n,&a);
}
여기서 6번째줄 *pa의 값을 나타낼려면 2005가 출력 되는줄 알았는데
뭐 긴 숫자가 출력되더라구요
그래서 그런데 *pa는 포인터의 주소값을 출력하는거라서 큰숫자가 출력되는건가요??
또 &연산자는 주소값을 반환시키기 떄문에
*pa랑 똑같은 값이 나오는건가요???
그리고 포인터는 4바이트라던데
int,double,char 상관없이 모두 4바이트라고 들었습니다...
그래서뭐 열혈강의 동영상 강의 보니깐 포인터에 다양한 타입이 존재하는 이유를 설명해주던데
도대체 무슨말인지 하나도 모르겠어요
왜 포인터에 다양한 타입이 존재하는거죠???
아 오랜만에 c 헀더니 하나도 모르겠다는ㅜㅜ
-
천칭자리
&a와 p는 주소이기 때문에 모두 주소로 표시가 됩니다.
a와 *p는 모두 값이기 때문에 2005가 출력됩니다. -
은새
포인터는 단순히 주소니까요.
포인터는 주소니까 0x~~~~가 뜰거같네요