포인터 배열은 포인터들의 배열이다. 즉, 배열의 각 요소가 메모리 주소를 저장하는 포인터 변수입니다. 이를 통해 여러 위치에 저장된 데이터에 대한 참조를 배열 형태로 관리할 수 있다. 포인터 배열은 특히 문자열이나 다양한 데이터 구조의 배열을 다룰 때 유용하다.
포인터 배열의 기본 구조
타입 *배열이름[배열크기];
- 타입: 배열이 가리킬 데이터의 타입
- 배열이름: 배열의 이름
- 배열크기: 배열이 저장할 포인터의 개수
#include <stdio.h>
int main() {
// 문자열을 가리키는 포인터의 배열 선언
const char *days[7] = {
"Monday", "Tuesday", "Wednesday",
"Thursday", "Friday", "Saturday", "Sunday"
};
// 포인터 배열을 이용해 요일 출력
for(int i = 0; i < 7; i++) {
printf("%s\n", days[i]);
}
return 0;
}
포인터 배열은 다음과 같은 경우에 특히 유용하다.
- 다양한 메모리 위치에 저장된 데이터에 대한 접근: 포인터 배열을 사용하면 여러 메모리 위치에 흩어져 있는 데이터를 효율적으로 관리하고 접근할 수 있다.
- 동적 메모리 할당된 데이터의 관리: 동적으로 할당된 여러 메모리 영역의 주소를 저장하고 관리하는 데 사용될 수 있다.
- 함수 포인터의 배열: 여러 함수의 주소를 저장하는 배열을 만들어 조건에 따라 다른 함수를 호출하는 등의 고급 프로그래밍 기법에 사용된다.
'윤성우의 C Programming' 카테고리의 다른 글
2차원 배열 arr, arr[0], arr[0][0] 의 차이 (0) | 2024.03.02 |
---|---|
2차원 배열이름의 포인터 형 (0) | 2024.03.02 |
Chapter 14. 포인터와 함수에 대한 이해 (0) | 2024.03.02 |
Chapter 12. 포인터의 이해 (0) | 2024.02.28 |
Chapter 13. 포인터와 배열 (0) | 2024.02.27 |