반응형
int * ptr ;
이때 포인터 앞에 있는 int 같은걸 포인터 자료형이라고 합니다.
이건 포인터 변수가 데이터를 읽는 방식을 정하는 기준입니다.
포인터 변수가 있는데 이걸 컴파일러가 읽을때 얘는 누구냐?? 라는 질문을 합니다.
그럼 포인터가 저는 포인터라고 주소값 갖고 있는 애인데 그 중에서도 int형 주소를 읽슴다... 그래서 4씩 띄워서 읽슴다...
라고 답을 합니다.
그냥 집주소만 컴파일러한테 전달되면 컴파일러가 못 읽겠죠?
택배를 붙일때 3434라는 번호만 달랑 송장에 기입한다면 이걸 전화번호로 읽을지 집주소로 읽을지 모르겠는 것 처럼
컴파일러도 비슷한 심정일 겁니다. 10101001로 되어 있는 데이터만 덜렁 주면 황당하겠죠 그래서 10101001를 4씩 끊어읽으라는 말을 해줘야 하고 그래서 앞에 int를 붙이는 겁니다.
비유를 제외하고 말하자면
int형 포인터는 포인터에 저장된 주소를 시작으로 4바이트를 읽어들여서 이걸 정수로 해석하는 변수이고
double형 포인터는 포인터에 저장된 주소를 시작으로 8바이트를 읽어들여서 이걸 실수로 해석하는 변수입니다.
끝!
반응형
'개발 공부 > C언어' 카테고리의 다른 글
#14 C언어 반복문과 조건문에서의 break; continue; return;의 차이점 (0) | 2022.08.02 |
---|---|
#13 C언어 변수형태/상수형태 배열과 포인터의 차이점과 공통점 (0) | 2022.08.02 |
#11 C언어 *와 &가 헷갈려서 포인터를 쉽게 설명해 보았다 (0) | 2022.08.02 |
#10 C언어에서 헷갈리는 따옴표 " ' 구별해서 쓰는 법 (0) | 2022.08.02 |
#9 C언어 scanf 함수에서 문자열 입력할때 공백처리 (0) | 2022.08.02 |
댓글