포인터란?

포인터
는 번지에 대한 기호화된 표현을 말한다.

즉, 주소를 말한다고 할 수 있다.

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
Posted by 아몰라