Test/C

[자료구조-1] 포인터

kiostory 2018. 12. 8. 20:04

* 포인터 : 메모리 주소를 값으로 가지는 변수

형식> 타입이름 *변수이름;

. 변수이름 : 선언된 포인터 변수의 이름

. * : 변수 이름이 포인터 변수임을 표시

. 타입이름 : 포인터변수에 저장될 주소에   저장되는 데이터의 유형


ex)


int main(void)
{
 
     int x=1, y=2;

     int *ip;                                                          // 정수형 포인터변수 ip
     ip = &x;                                                         // & : 변수의 주소, 즉 x변수의 주소를 ip로 입력

     printf("x=%d y=%d ip=%x ", x,y,ip);
 
     y = *ip;                                                          //  정수형 포인터변수 ip가 가지고 있는 주소위치의 값(*)을 의미, 여기서 y=x의 의미
     *ip = 0;                                                          // 정수형 포인터변수 ip가 가지고 있는 주소위치의 값을 0으로.  여기선 결국 x가 0이 되겠지

     printf("x=%d y=%d ip=%x ", x, y, ip);

     return 0;

}



실행해 보면,

----------------------------------------------------------------------


x=1 y=2 ip=1dfe8c

x=0 y=1 ip=1dfe8c


visual studio에서도 확인해 보면...