[파일 구조] Chapter 4. Fundamental File Structure Concepts
필드와 레코드 구성 ✔
📢 1. 스트림 화일(Stream Files)

-> 사람의 정보에 대한 레코드의 정의
1. In C:

2. IN C++:

📢 2. 필드 구조 : 필드 유지 방법(4가지)
방법1. 고정길이 필드 💡
- 필요한 최대 크기 배정
- 화일 크기가 커짐
- 길이가 다양한 필드를 포함하는 데이터에는 부적합
- 필드길이가 비슷한 경우 유용
- 필드 공간 낭비
- 구조나 구현 간단

방법2. 길이 지시자(length indicator) 💡
- 필드의 앞에 필드의 길이를 저장
- 길이기반(length-based)필드
- 직관적이고 간단하게 가변 길이 필드 해석 가능
- 길이 지시자 때문에 필드 크기 2배 커짐

방법3. 구분자(delimiter) 💡
- 구분문자로 필드 식별
- 구분자: 필드 내에 포함되지 않는 특수문자(|: vertical bar , shift )
- |를 만나기 전까지 길이를 알 수 없음
- 공간 낭비 적음

### 방법4. 키워드(Key word) 💡
- 자체 기술적(self-describing)구조: 화일 구성에 유용
- 구분자와 결합하여 사용
- 공간의 낭비

📢 필드 구조 비교
- 가장 단순하고 빠른 방법 : 고정 길이 필드
- 공간의 낭비가 적은 방법으로 널리 사용하는 방법: 구분자