(C++)4-3장 포인터

포인터 변수에는 특정 변수의 주솟값이 저장된다.
하지만 다른 점은 가르키는 대상이 없을 수도 있고, 가리키는 대상을 언제든 변경 할 수 있다. 그러므로 초기화를 하지 않아도 된다.

int value=100;
int *pointerValue=&value;


변수명     value       pointerValue
값          100            65534      
주소       65534         65532

int value=100;
int *pointerValue=&value;
cout<<value<<endl;  //100출력
cout<<&value<<endl; //value의 주솟값 65534
cout<<pointerValue<<endl; //pointerValue가 가르키는 Value의 주솟값65534
cout<<*pointerValue<<endl; //100
cout<<&pointerValue<<endl; //pointerValue의 주소
int **ppointerValue=&pointerValue; //두 번주소를 참조해 value변수의 값을 알아 낼 수 있다.


********null 포인터
포인터는 초기화 하지 않아도 중간에 가리키는 변수의 주소를 변경 할 수 있다. 쓰레기 값이(Gabage)이 저장되는 것을 방지하기 위해 null pointer를 할당 할 수 있다.
int *p=nullptr;

*****void 포인터
자료형을 미리 정하지 않아도 나중에 원하는 형태로 자유롭게 변환할 수 있는 유용한 기능을 제공한다.
int value=100;
double value2=100.121;
void *voidPointer=&value;
voidPointer=&value2;
-____>>>>>>>>>>>>int형이든 double형이든 할당 할 수 있다.

댓글

이 블로그의 인기 게시물

(네트워크)폴링방식 vs 롱 폴링방식

(ElasticSearch) 결과에서 순서 정렬

(18장) WebSocekt과 STOMP를 사용하여 메시징하기