포인터(Pointers)

포인터는 다른 변수의 주소를 보관할 수 있는 변수이다.

포인터 선언은 간단하다. void *ptr
근데 void 형 포인터는 처음 봤다. 형을 지정하지 않아 무엇이든지 가리킬 수 있는 포인터
인데 제약사항이 있다고 한다.

int X=10;
int *ptr = &X;
코드에서 X라는 이름의 정수형 변수를 선언하고 10으로 초기화.
그리고 정수형 ptr를 선언하고 X의 주소값을 할당한 경우.

'*'는 간접 지정 연산자이다.

모든 형을 가리킬 수 있는 void 포인터의 한가지 제약은 간접 참조가 안된다고 한다.
컴파일러가 바이트를 얼마나 읽어야 하는지 모르기 때문이라고 한다.


아래에는 포인터 연산하는 법이다. char(1byte)과 int(4bytes)가 있으니 다른점은 있다.
void 포인터는 포인터 산술 연산이 불가능하다.(되는게 뭐죠???)



void 포인터는 사용하기 전에 나중에 반환해야 하는 특정 포인터 유형의 주소를 보관하기 위해서만 사용할 수 있다.
http://nedy.tistory.com/14 여기에서 void 포인터를 어떻게 사용하는지 예시가 나와있다.





댓글

이 블로그의 인기 게시물

실내공간 표준안 IndoorGML의 개념 및 활용(이기준, 이지영)('13.06.24 심사완료) 정리.

플랫폼과 에코시스템