주소 값을 저장하는 변수
int iData;
&iData - 선언된 데이터의 대표 주소를 추출하는 연산자
iData=20; 이름을 통한 접근
*(&iData)=20; 주소를 통한 접근(직접 참조)
int* p; int형 포인터 p(int형 변수의 주소를 저장)
p=&iData; (간접 참조)
포인터의 크기는 현재 프로그램이 몇 비트 기반 인지에 따라 달라진다.
**포인터 연산
포인터가 현재 참조하는 주소에서 다른 공간의 주소를 가리키게 됨
int *p = &tmp;
p += 3; 포인터 연산을 3번 만큼
연속적인 메모리 공간에 할당 된 값들을 포인터 연산을 통해 빠르게 이동
**const와 포인터
int Data=10;
const int *ptr=&Data; 읽기 전용 포인터(참조하는 공간의 값을 초기화 값인 상태로 읽기만 실행)
int* const ptr2=&Data; 상수 포인터(오로지 하나의 주소만 참조 가능)
const int* const ptr3=&Data 읽기 전용 상수 포인터(참조하는 공간의 값 변경 x 참조하는 공간 변경 x)
**이중 포인터
int Data=10;
int* ptr1 = &Data; Data의 주소를 추출하여 ptr1에 저장
int** ptr2 = ptr1; 포인터 ptr1의 주소를 추출하여 ptr2에 저장(이중 포인터)