포인터를 이용하면 메모리에 직접 접근이 가능하다. ( 포인터가 존재하기때문에 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바이트를 읽어온다 . 이렇듯 포인터형은 메모리 공간을 참조하는 기준이된다.
'C언어 > 열혈C' 카테고리의 다른 글
C : Chapter -12 포인터와 함수 (0) | 2018.03.22 |
---|---|
C : Chapter -11 포인터와 배열 (0) | 2018.03.22 |
C : Chapter-9 배열 (0) | 2018.03.22 |
C : Chapter -8 함수 (0) | 2018.03.19 |
C : Chapter -7 조건문 (0) | 2018.03.19 |