C언어 포인터

포인터 변수에 형을 지정하는 이유

멧둥 2022. 5. 22. 15:14

1) 포인터 변수는 형에 상관없이 4바이트 공간을 지정 받는다.
실제로는 없지만 예를 들어, pointer 라는 형을 써서 pointer *num 과 같이 사용해도 되겠다는 생각을 할 수 있다.

하지만 이 포인터 변수의 형은 쓸 곳이 있다.

바로 포인터 형에 의해서 역참조(주소를 참조해서 값을 가져옴) 될 때 읽어올 데이터 바이트 수가 결정 되는 것이다. 

쉽게 말해서 포인터 변수의 타입은 포인터 변수가 가리키는 번지로 가서 몇 바이트를 읽어 오는지를 알려주는 것이다.

ex) int *num => num에 저장된 주소를 참조해서 4바이트 만큼(int) 읽어온다.
ex) double * num => num에 저장된 주소를 참조해서 8바이트 만큼(double) 읽어온다.