포인터 변수의 선언과 초기화
기본 문법
1
2
3
4
| 자료형 *변수명 = 주소값;
int num = 20;
int *p = #
|
- 자료형 : C 언어의 기본 자료형, 열거형, 구조체형, 공용체형, 포인터형 등
- 변수명 : 명칭 정의 규칙에 따라 만든 이름
* : 포인터 연산자
& : 주소 연산자
선언 후 초기화
- 포인터 변수를 선언한 뒤 주소값을 나중에 저장할 수 있다.
- 이 경우엔 포인터 변수에 포인터 연산자를 사용하지는 않는다.
1
2
3
| int a = 5000;
int *p;
p = &a; // 나중에 저장
|
포인터 변수의 선언 variation
1
2
3
| 자료형 *포인터변수명; // 가장 많이 사용되는 방식
자료형* 포인터변수명;
자료형 * 포인터변수명;
|
포인터 변수가 담는 값
- 포인터 변수는 메모리의 주소값을 저장한다.
- 포인터 변수를 출력하면 어떤 메모리의 주소값(16진수)를 출력한다.
1
2
3
4
5
6
| void pointer_variable() {
int num = 20;
int *p = #
printf("p : %p", p);
}
// 출력 : p : 0x12dcf624c
|
일반 변수와 포인터 변수의 차이
| 구분 |
일반 변수 |
포인터 변수 |
| 저장되는 값 |
실제 자료의 값 |
자료가 저장된 메모리의 주소 |
| 자료 접근 방식 |
변수명으로 메모리에 접근 이를 통해 자료를 저장하거나 읽음 |
포인터에 저장된 주소를 통해 메모리에 간접 접근 간접 접근하여 자료를 저장하거나 읽음 |
Reference
C 프로그래밍 (김형근, 곽덕훈, 정재화 공저)
C 프로그래밍 강의 (방송통신대 - 이병래)
Comments