(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형이든 할당 할 수 있다.
하지만 다른 점은 가르키는 대상이 없을 수도 있고, 가리키는 대상을 언제든 변경 할 수 있다. 그러므로 초기화를 하지 않아도 된다.
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형이든 할당 할 수 있다.
댓글
댓글 쓰기