Search
Duplicate

포인터 배열

Created
2021/11/18 08:53
Tags
이중포인터
이중포인터는 변수이다. 그리고 그 변수를 통해서 메모리 주소를 취합할 수 있는 역할을 할수 있는게 이중포인터라고 볼 수 있다.
이중포인터는 여러가지 생성을 통해서 그와 같은 임의의 길이를 가진 열을 모아서 이차원 배열이라는 하나의 단위를 만들 수 있다.
포인터 배열은
이차원 배열의 행의 대한 부분이 이미 고정되어 있는 상태에서 각가 열이 다른 배열을 다룰수 있게 해주는게 포인터 배열이다.
이중포인터보다 포인터 배열이 보다 다루기가 쉽다.

포인터 배열

역할
메모리 주소를 저장하는 배열
형식
데이터형 *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
복사