* 변수는 컴퓨터 메모리에 저장
* 변수의 주소
주소 연산자 & 이용
주소 출력 시 %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씩 증가
* 배열 이름 그 자체가 포인터
배열 이름은 첫 번째 배열 원소의 주소와 같다!
댓글