티스토리 뷰

포인터 배열 기초
- 주소를 저장하는 배열
- 데이터형* 배열명[배열 크기];
- int* arr[5]; 크기가 5인 int*형 배열을 선언함
- 1차원 포인터 배열
int a = 10, b = 20, c = 30, d = 40, e = 50;
int* arr[5] = {&a, &b, &c, &d, &e};
int i;
for( i = 0 ; i < 5 ; i++ )
printf(“%d”, *arr[i]) ; arr[i]는 int*형이므로 간접 참조 연산자를 사용할 수 있음
- 2차원 포인터 배열
- 포인터 배열의 각 원소에 배열의 시작 주소를 저장
- 데이터형* 배열명[배열 크기];
- int* arr[5]; 크기가 5인 int*형 배열을 선언함
int x[3] = {1, 2, 3};
int y[3] = {4, 5, 6};
int z[3] = {7, 8, 9};
int* arr[3] = {x, y, z}; //포인터 배열의 원소를 int
//배열의 시작 주소로 초기화함
for( i = 0 ; i < 3 ; i++ ){
for( j = 0 ; j < 3 ; j++ )
printf(“&d”, arr[i][j]);
printf(“\n”);
}
//arr[i]가 int 배열의 시작 주소로 초기화되었을 때,
//arr[i]가 가리키는 배열의 원소에 접근하려면 arr[i][j]라고 씀
- 구조체 포인터 배열
- 구조체 배열은 메모리를 많이 사용하므로 비효율적임
- 데이터형* 배열명[배열 크기];
- 구조체 포인터 배열은 구조체를 이용하는 것보다 메모리 사용 측면에서 더 효율적임
'스마트웹 개발2021 > 프로그래밍 언어활용' 카테고리의 다른 글
어플리케이션 구현 (0) | 2021.08.01 |
---|---|
전처리기 (0) | 2021.08.01 |
스토리지 클래스 (0) | 2021.08.01 |
함수의 인자 (0) | 2021.08.01 |
공용체와 열거체 (0) | 2021.07.31 |
댓글