본문 바로가기
공학/C

포인터

by 둥둥잇 2014. 11. 18.


* 변수는 컴퓨터 메모리에 저장

* 변수의 주소

 주소 연산자 & 이용

 주소 출력 시 %u 사용

printf("%u", &i);


* 포인터

- 메모리의 주소를 가지고 있는 변수

- 주소가 저장되는 특별한 변수 타입
- 포인터 변수 *
- 포인터는 사용하기 전 반드시 초기화
int i = 10;    //정수형 변수 i
int *p;        //포인터 p
p = &i;       //변수 i의 주소가 포인터 p로 대입

* 간접 참조 연산자 *
상단의 예시에서
i = 10                                        //변수 값
&i = 1245024 (임의의 주소)          //변수 주소
p = 1245024                              //포인터 값
*p = 10                                     //포인터를 통한 간접 참조 값

* 널 포인터의 사용
포인터가 아무것도 가리키고 있지 않을 때는 NULL로 설정
int *p = NULL;


* 포인터 타입과 변수의 타입은 일치해야 함!!
* 포인터의 연산
자신의 타입 크기만큼 증가함
++ 연산시,
int *p는 4씩
double *p는 8씩 증가

* 배열 이름 그 자체가 포인터
 배열 이름은 첫 번째 배열 원소의 주소와 같다!


'공부 > C' 카테고리의 다른 글

공용체  (0) 2014.11.18
구조체  (0) 2014.11.18
함수와 포인터  (0) 2014.11.18
배열  (0) 2014.11.18
저장 유형 지정자  (0) 2014.11.18

댓글