89. 동적 배열 헤더 작성

전문가) 동적으로 생성한 개체는 무엇이든 보관할 수 있게 void *를 Element 형식명으로 정하세요. 배열 구조체에 저장소와 저장소 크기, 보관 개수를 멤버로 정하세요. 학생1,2) Go Go

여기에서 만드는 동적 배열은 순차적으로 자료를 보관하게 만들기로 해요.
그리고 자료를 보관하는 저장소가 꽉 차면 알아서 저장소의 크기를 늘려주는 확장 가능한 배열로 만들어요.

이를 위해서는 동적 배열 구조체의 멤버로 동적으로 할당한 저장소의 위치 정보를 기억하고 있어야겠죠.
그리고 현재 저장소의 크기 및 현재 보관 개수를 기억하고 있게 멤버를 정하세요.
여기에서는 동적으로 생성한 자료를 보관할 수 있게 void * 형식을 요소 형식으로 정의하세요.

그리고 동적 배열을 사용하기 위한 여러 함수들을 제공해야겠죠.
먼저 사용자 정의 배열 구조체에 있는 멤버 속성을 확인하는 함수도 제공하세요.
C언어에서는 구조체 멤버를 어디서나 접근할 수 있어요.
하지만 형식 내부의 멤버를 다른 곳에서 접근을 허용할 것이지를 개발자가 정하는 언어도 많아요.
특히 C++, Java, C# 등의 OOP언어들은 자료의 신뢰성을 높이기 위해 개발자가 멤버의 접근 가시성을 정할 수 있어요.
이번 실습에서는 다른 소스 파일에서 구조체 배열의 멤버에 접근하지 않고 사용하기로 해요.

먼저 동적 배열을 생성할 때 사용하는 함수에는 초기 저장소의 크기와 초기값을 입력받게 하세요.

동적 배열을 소멸하는 함수, 저장소의 크기 가져오기, 보관한 요소 개수 가져오기 기능도 제공하세요.

순차적으로 자료 보관, 보관한 요소 가져오기, 보관한 요소 설정하기 함수도 제공하세요.

배열에 보관한 자료들을 순차적으로 접근하기 쉽게 저장소의 시작 위치와 마지막 위치를 확인하는 기능도 제공하세요.
검색이나 목록 출력등 반복문에서 사용하기 쉽게 마지막 위치는 마지막 자료를 저장한 다음 위치로 정하세요.

자료를 보관한(할) 위치를 Iterator 형식이라고 이름을 정하기로 해요.

그리고 특정 위치에 보관한 것을 제거하는 함수도 제공하세요.

◈ EHArray.h


[C언어 무료 동영상 강의] 88. 사용자 정의 배열 개요, 89. 동적 배열 헤더 작성