사용하는 모든 변수는 메모리상의 특정 위치에 저장되고 그 위치는 메모리 주소를 갖는다. 이러한 변수의 메모리 주소값을 포인터라고 하며, 포인터 변수는 주소값을 저장하는 특별한 변수다. 포인터 변수가 어떤 변수의 주소를 저장하고 있다는 것은 포인터 변수가 그 변수를 가리키고 있다(포인트하고 있다)는 의미가 된다. 그래서 포인터 변수를 간단히 포인터라고도 한다.
포인터
- 변수의 메모리 주소 값
포인터변수
-주소값을 저장하는 특별한 변수
-포인터 변수가 어떤 변수의 주소를 저장하고 있다는 것은 포인터 변수가 그 변수를 가리키고 있다(포인터 하고 있다)는 의미
-포인터변수를 간단히 포인터라고 한다.
포인터 변수의 의미
-편지봉투에 받는 사람의 집주소를 쓰면, 그 주소로 편지가 전달되어 집주인이 편지를 받게된다.
-편지 봉투 -> 포인터변수 편지봉투에 쓰는 받는 사람 주소 -> 포인터 변수에 저장된 변수의 메모리 주소
int *p (int 는 포인터의 자료형이 아니라, 포인터가 가리키고 있는 자료의 자료형을 나타낸다)
int는 4바이트
예 )
int i;
int *ptr = &i;
포인터 선언 형식
자료형 *포인터 변수이름;
포인터 변수의 자료 형에 따른 메모리 액세스 범위
char *ptr; 1바이트
short *ptr; 2바이트
int *ptr; 4바이트
포인터 연산
주소 연산자 : &
변수의 주소를 구하기 위해 사용
변수 앞에 &를 사용하여 그 변수의 주소를 사용
포인터 변수 = &변수;
주소 연산자 사용 예
int i=10;
int *ptr;
ptr=&i;
참조 연산자 : *
저장된 주소에 있는 값(변수에 저장된 값)을 액세스 하는 연산자
사용방법
1. 지정한 값을 포인터가 가리키고 있는 주소에 저장
*포인터변수 = 값;
2. 포인터가 가리키는 주소에 있는 값을 변수에 저장
변수 = *포인터변수;
참조 연산자 사용 예
int i,j;
int *ptr;
ptr = &i;
*ptr=10;
j = *ptr;
'도전과 모험의 세계☆ > 자료구조' 카테고리의 다른 글
| 포인터 초기화, 문자열 (0) | 2008/03/27 |
|---|---|
| c로 배우는 쉬운 자료구조 - 한빛미디어 연습문제 1장 정답 (0) | 2008/03/21 |
| /* swap함수의 구현과 포인터 사용 값 바꾸기 */ (2) | 2008/03/20 |
| 포인터와 배열을 알아야 자료구조를 안다! (0) | 2008/03/20 |
| 자료형의 크기 확인하기 (0) | 2008/03/20 |
| 자료구조 첫 수업! (0) | 2008/03/06 |

이올린에 북마크하기
이올린에 추천하기
Prev

Rss Feed