hahahia

포인터(Pointer) 본문

Language/C

포인터(Pointer)

hahahia 2012. 2. 17. 11:11
포인터 : 주소값을 직접 컨트롤을 하기 위해, 실제 어떤 주소값을 저장하는 변수.
            주소값의 크기는 4byte이며 따라서 포인터의 크기도 4byte.

example)

int 포인터 : int* p; or int *p; (* 위치는 상관없다)

char 포인터 : int *cp; or int* cp;

 


변수명 앞에 &를 붙이게 되면, 그 변수의 처음 메모리 주소값을 반환한다. 
그렇게되면 배열을 하나(ex, char ch[10])를 선언하고 &ch를 출력하게되면 배열 ch의 첫번째 메모리 주소값인 ch[0]의 주소를 출력할 것이다.

int main(){

 int i = 5;

 int *pi; // == int* pi; equal

 

 pi = &i;

 

no1::  cout<<i<<endl;     //= 5

no2:: cout<<&i<<endl;//0012FF60

no3:: cout<<pi<<endl;//0012FF60

no4::   cout<<&pi<<endl;//0012FF54

no5::   cout<<*pi<<endl;  // 5

 return 0;

}

 

 

1번 :: i의 값은 5
2번 :: & (reference)는 주소값을 의미합니다. 따라서 i의 주소값은 0012FF60
3번 :: pi는 i의 주소값을 가리키는 포인터입니다. 따라서 0012FF60
4번 :: pi라는 변수의 주소값은
0012FF54입니다.
5번 :: pi가 가리키고 있는 주소의 값은
5입니다. 


'Language > C' 카테고리의 다른 글

매개변수 전달 기법  (0) 2012.02.17
배열(Array)  (0) 2012.02.17
숫자 baseball game  (0) 2012.02.16
난수 생성 srand 함수  (0) 2011.05.27
지역 변수와 전역 변수  (0) 2011.05.22
Comments