•
이중포인터
◦
이중포인터는 변수이다. 그리고 그 변수를 통해서 메모리 주소를 취합할 수 있는 역할을 할수 있는게 이중포인터라고 볼 수 있다.
◦
이중포인터는 여러가지 생성을 통해서 그와 같은 임의의 길이를 가진 열을 모아서 이차원 배열이라는 하나의 단위를 만들 수 있다.
•
포인터 배열은
◦
이차원 배열의 행의 대한 부분이 이미 고정되어 있는 상태에서 각가 열이 다른 배열을 다룰수 있게 해주는게 포인터 배열이다.
◦
이중포인터보다 포인터 배열이 보다 다루기가 쉽다.
포인터 배열
•
역할
메모리 주소를 저장하는 배열
•
형식
데이터형 *ptr[열 개수];
예) int *ptr[3];
→ int형 메모리 주소 3개를 저장하는 배열
ptr[0], ptr[1], ptr[2]
•
활용
◦
임의의 열 길이를 가지는 배열을 연결할 수 있음
◦
길이가 다른 문자열을 다룰 때 자주 사용됨
포인터 배열의 활용(1)
•
임의의 열 길이를 가지는 배열을 생성하거나 해제
#include <stdio.h>
#include <stdlib.h>
int main(void){
int *ptr[2];
ptr[0] = (int *)malloc(sizeof(int)*3);
ptr[1] = (int *)malloc(sizeof(int)*2);
ptr[0][0] = 1;
ptr[0][1] = 2;
ptr[0][2] = 3;
ptr[1][0] = 4;
ptr[1][1] = 5;
printf("%d %d %d\n", ptr[0][0], ptr[0][1], ptr[0][2]);
printf("%d %d\n", ptr[1][0], ptr[1][1]);
for (int i = 0; i < 2; i++)
{
free(ptr[i]);
}
return 0;
}
C
복사
포인터 배열의 활용(2)
•
길이가 다른 문자열을 다룰 때 자주 사용됨
→ 메뉴 구성
C
복사