2010. 5. 19. 22:06
포인터란?
포인터는 번지에 대한 기호화된 표현을 말한다.
즉, 주소를 말한다고 할 수 있다.
int temp;
temp라는 이름을 가진 변수가 선언되면
int형은 4바이트 메모리로 시스템이 할당을 해주고
각 바이트들은 다 주소가 있게 마련이다.
그 주소들이 포인터가 되는것이다.
포인터변수란?
말 그대로 포인터들을 담는 변수가 되는 것이다.
포인터변수에는 주소들만 저장할수 있게된다.
예를 들어 int *temp 이런식으로 포인터변수 정의를 할수 있는데
이렇게 되면 정수가 저장된 곳의 위치를 가르킬 수 있게 되는 것이다.
그러므로 temp = 5; 이런식의 표현은 되지않는다.
int *temp;
int t = 2;
temp = &t;
cout<<*temp; 이런식으로 하면 temp포인터변수가 가르키고있는 값 2가 출력하게된다.
cout<<temp; temp포인터변수에있는 가르키고있는 포인터가 출력된다. 즉, 주소가 출력된다.
cout<<&temp; temp포인터변수에 주소가 출력된다.
물론 주소는 4바이트니까 연속적으로
0x12FF60
0x12FF61
0x12FF62
0x12FF63
저장되지만 &temp로 출력을 하게되면 가장앞에 주소(60)가 출력되게된다.
포인터를 사용하므로서 생기는 장점은 차차 포인터를 정리하면서 마지막에 정리하겠다.
p.s 아 그리고 포인터들은 int *temp; 나 char * temp 나 다 4바이트씩 메모리를 가지게된다.
'프로그래밍 기초 > C포인터' 카테고리의 다른 글
문자열 포인터 (0) | 2010.05.25 |
---|---|
2차원 포인터 배열 (0) | 2010.05.25 |
배열포인터의 특징 (0) | 2010.05.25 |
2차원 배열포인터와 대상체 (0) | 2010.05.20 |
배열과 포인터 (0) | 2010.05.19 |