- 주소와 포인터는 각각 상수와 변수라는 차이가 있음
- 포인터의 크기는 주소의 크기와 같음
- 포인터에 주소를 저장할 때는 가리키는 자료형이 같아야 함
- 포인터의 주요 기능 중 하나는 함수 간에 효과적으로 데이터를 공유하는 것
- 간접 참조 연산자를 사용한 예(포인터 pa가 변수 a를 가리킬 때)
| 구분 | 변수 a 사용 | 포인터 pa 사용 |
| 대입 연산자 왼쪽 | a = 10; | *pa = 10; |
| 대입 연산자 오른쪽 | b = a; | b = *pa; |
| 피연산자 | a + 20; | *pa + 20; |
| 출력 | printf("%d", a); | printf("%d", *pa); |
| 입력 | scanf("%d", &a); | scanf("%d", &*pa); scanf("%d", pa); |
- 주소와 포인터의 특징
| 구분 | 사용 예 | 기능 |
| 포인터 | int a, b; int *p = &a; p = &b; |
포인터는 변수이므로 그 값을 다른 주소로 바꿀 수 있음 |
| 포인터의 크기 | int *p; sizeof(p) |
포인터의 크기는 컴파일러에 따라 다를 수 있으며, sizeof 연산자로 확인 |
| 포인터의 대입 규칙 | int *p; double *pd; pd = p; (X) |
포인터는 가리키는 자료형이 일치할 때만 대입 |
'AI 시스템 반도체 SW > C 언어' 카테고리의 다른 글
| [C 언어] 11 문자 (0) | 2026.06.02 |
|---|---|
| [C 언어] 10 배열과 포인터 (0) | 2026.06.02 |
| [C 언어] 9-1 포인터의 기본 개념 (0) | 2026.06.02 |
| [C 언어] 8-2 문자를 저장하는 배열 (0) | 2026.06.01 |
| [C 언어] 8-1 배열의 선언과 사용 (0) | 2026.06.01 |