C 언어에서는 어떤 타입 T에 대해서 T의 포인터 타입이 존재한다. 포인터 타입의 실제 값은 메모리의 주소가 된다.
포인터 타입에 사용되는 두 가지 중요한 연산자는 아래와 같다. & : 주소 연산자 * : 역참조(간접 지시) 연산자 다음과 같이 선언한다면 a는 정수 변수이고, p는 정수에 대한 포인터이다. 다음과 같이 하면 &a는 a의 주소를 돌려주어 그 값을 p의 값으로 지정한다. a에 값을 저장하기 위해서는 다음과 같이 할 수 있다.
두 경우 모두 변수 a의 값으로 정수 값이 저장된다. 오른쪽의 경우(*p)는 이 포인터에 100을 저장하는 것이 아니라, 포인터 p가 가리키는 장소에 100을 저장하는 역참조(dereference)를 나타낸다.
추가적인 포인터의 특징 한 포인터가 다른 포인터 변수를 가리키도록 설정할 수 있다. 포인터는 음이 아닌 정수 값을 가지므로 C에서는 포인터에 대한 사칙연산이 가능하다.
포인터들의 크기를 비교할 수 있으며 포인터 값을 정수 값으로 바꿀 수도 있...
원문 링크 : 포인터 (pointers)