C언어/열혈C

C : Chapter-10 포인터

최태선 2018. 3. 22. 16:30

포인터를 이용하면 메모리에 직접 접근이 가능하다. ( 포인터가 존재하기때문에 C언어는 저급언어이다 )

포인터변수와 &연산자


int num=7;

int * pnum = # // 포인터변수 pnum에 &연산자를 이용해  num의 주소값을 저장

int * pnum2 = NULL; // 포인터변수를 선언만 해두고, 이후에 유효한 주소값을 넣을생각이라면 주소값을 NULL로 초기화하자.

*포인터변수의 크기는 4바이트(32비트 시스템에서) 가될수도있고, 8바이트(64비트 시스템에서) 가 될수도 있다.


type * ptr; // type 형 변수의 주소값을 저장하는 포인터 변수  ptr 의 선언


다양한 포인터형이 존재하는 이유


만약 int *pnum; 이라고 선언되었다면, *pnum 으로 데이터를 읽어들일때 , int의 크기인 4바이트를 읽어온다 . 이렇듯 포인터형은 메모리 공간을 참조하는 기준이된다.