본문 바로가기
개발 공부/C언어

#12 C언어 포인터 앞에 int double 같은 자료형을 붙여줘야 하는 이유

by 반달bear 2022. 8. 2.
반응형

 

int * ptr ;

이때 포인터 앞에 있는 int 같은걸 포인터 자료형이라고 합니다.

이건 포인터 변수가 데이터를 읽는 방식을 정하는 기준입니다.

 

 

포인터 변수가 있는데 이걸 컴파일러가 읽을때 얘는 누구냐?? 라는 질문을 합니다.

그럼 포인터가 저는 포인터라고 주소값 갖고 있는 애인데 그 중에서도 int형 주소를 읽슴다... 그래서 4씩 띄워서 읽슴다... 

라고 답을 합니다.

 

 

그냥 집주소만 컴파일러한테 전달되면 컴파일러가 못 읽겠죠? 

택배를 붙일때 3434라는 번호만 달랑 송장에 기입한다면 이걸 전화번호로 읽을지 집주소로 읽을지 모르겠는 것 처럼

컴파일러도 비슷한 심정일 겁니다. 10101001로 되어 있는 데이터만 덜렁 주면 황당하겠죠 그래서 10101001를 4씩 끊어읽으라는 말을 해줘야 하고 그래서 앞에 int를 붙이는 겁니다.

 

비유를 제외하고 말하자면

int형 포인터는 포인터에 저장된 주소를 시작으로 4바이트를 읽어들여서 이걸 정수로 해석하는 변수이고

double형 포인터는 포인터에 저장된 주소를 시작으로 8바이트를 읽어들여서 이걸 실수로 해석하는 변수입니다.

 

 

끝!

 

 

 

반응형

댓글