Pointer(객체 변수명).(접근 대상) 의 형태를 사용하지만 포인터로 지시하고 있는 경우 (포인터)->(접근 대상)으로 사용int a = 10;
int* p;
p = &a
*를 통해 해당 변수가 pointer임을 표시&문자는 해당 변수의 메모리 주소를 확인할 때 사용*를 붙혀 출력하면 해당 포인터의 역참조를 가져옴. 해당 코드에서의 경우라면 a의 값인 10이 출력됨pointer를 4개로 크게 구분할 수 있음void* p;
pi = (int*)p
void 타입으로 선언된 포인터는 여러 타입으로 캐스팅 할 수 있으며, 반대로 특정 타입의 포인터를 void* 타입으로 전환하는 것도 가능int i = 10;
//p에 i가 저장된 메모리 주소 저장
int* p = &i;
//pp에 p가 저장된 메모리 주소 저장
int** pp = &p;
이중 포인터란 포인터가 저장된 메모리 공간을 지시하는 포인터
*p = **pp = 10
*pp = p = &i
int arr[5] = {10, 20, 30, 40, 50};
int *p = &arr[1];
cout << *++p << endl;
p--;
cout << *--p << endl;
+와 -를 활용해 특수한 연산이 가능함+1또는 -1연산을 실시하면 해당 배열에서 주어진 타입의 크기만큼 1칸 뒤 또는 1칸 앞에 있는 값을 표시