제 4 장 Record.

Slides:



Advertisements
Similar presentations
Python Ch.06 RaspberryPi Sejin Oh. Raspberry Pi Python  IDLE(Integrated Development Environment)  라즈베리 파이 배포본들은 일반적으로 파이썬과 파이썬 3 의 IDLE 파 이썬 개발 도구를.
Advertisements

1. 2 차원 배열  배열은 동일한 데이터 유형으로 여러 개의 변수를 사용할 경우 같은 이 름으로 지정하여 간편하게 사용할 수 있도록 하는 것으로서 앞에서 1 차원 배열을 공부하였습니다.  2 차원 배열은 바둑판을 생각하면 되며, 1 차원 배열에서 사용하는 첨자를 2.
1 구조체 윤 홍 란 컴퓨터 프로그래밍 2 구조체 정의  구조체란 ? o 서로 다른 형의 변수들을 하나로 묶어주는 mechanism. (cf. 배열 : 같은 형의 변수들을 하나로 묶어주는 mechanism) o 예 : 카드의.
ㅎㅎ 구조체 구조체 사용하기 함수 매개변수로서의 구조체 구조체 포인터와 레퍼런스 구조체 배열.
ㅎㅎ 구조체 C++ 프로그래밍 기초 : 객체지향의 시작 구조체 사용하기 함수 매개변수로서의 구조체 구조체 포인터와 레퍼런스
쉽게 풀어쓴 C언어 Express 제11장 포인터 C Express Slide 1 (of 27)
제14장 동적 메모리.
연결리스트(linked list).
제 9 장 구조체와 공용체.
제 09 장 데이터베이스와 MySQL 학기 인터넷비즈니스과 강 환수 교수.
11장 구조체와 열거형 구조체의 정의 구조체 변수의 선언 구조체 초기화 및 사용 구조체 재정의 포인터를 이용해서 구조체 사용
자료 구조: Chapter 3 (2)구조체, 포인터
윤성우의 열혈 C 프로그래밍 윤성우 저 열혈강의 C 프로그래밍 개정판 Chapter 12. 포인터의 이해.
제15장 파일 입출력 문자열을 출력하는 여러가지 방법 (15-2쪽) 문자열만 처리하는 입출력 함수
테이블 : 데이터베이스를 구성하는 요소로 같은 성격에 정보의 집합체. 레코드 : 하나의 정보를 가지고 있는 컬럼의 집합체
제 3 장 선형 리스트 3.1 선형 리스트 3.2 연결 리스트 3.3 다항식.
쉽게 풀어쓴 C언어 Express 제17장 동적메모리와 연결리스트 C Express Slide 1 (of 13)
5장. 참조 타입.
P150 문제를 프로그래밍 할 것 Source file (헤더파일포함), 실행화면 (학번_이름_1.txt)
Dynamic Memory and Linked List
11장. 포인터 01_ 포인터의 기본 02_ 포인터와 Const.
11.텍스트를 위한 화일.
SqlParameter 클래스 선문 비트 18기 발표자 : 박성한.
Error Detection and Correction
13 인덱스 인덱스의 개념 인덱스의 구조 인덱스의 효율적인 사용 방법 인덱스의 종류 및 생성 방법 인덱스 실행 경로 확인
23장. 구조체와 사용자 정의 자료형 2.
17강. 데이터 베이스 - I 데이터 베이스의 개요 Oracle 설치 기본적인 SQL문 익히기
KHS JDBC Programming 4 KHS
자료구조: CHAP 4 리스트 (3) 순천향대학교 컴퓨터공학과 하 상 호.
프로그래밍 랩 – 7주 리스트.
자바 5.0 프로그래밍.
11장. 1차원 배열.
13 인덱스 인덱스의 개념 인덱스의 구조 인덱스의 효율적인 사용 방법 인덱스의 종류 및 생성 방법 인덱스 실행 경로 확인
Introduction To Data Structures Using C
C#.
11.텍스트를 위한 화일.
자기참조 구조체(1) 먼저 자신과 같은 형의 구조체를 포인트하는 포인터 멤버 필드를 갖는 구조체를 정의한다.
박성진 컴퓨터 프로그래밍 기초 [09] 배열 part 1 박성진
24장. 파일 입출력.
C 3장. 변수와 데이터형 #include <stdio.h> int main(void) { int num;
나만의 자료 형을 만들 수 있다. C는 int, float, char 등의 자료 형을 제공한다.
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
15장 컬렉션 프레임워크 Section 1 컬렉션 프레임워크의 개요 Section 2 리스트 Section 3 셋
포인터 1차원 배열과 포인터 2차원 배열과 포인터 문자열 배열과 포인터 포인터 배열
컴퓨터 프로그래밍 기초 - 10th : 포인터 및 구조체 -
2장. 변수와 타입.
처음으로 배우는 C 프로그래밍 제4부 복합 데이터 형 제 7 장 배열.
보고서 #7 (기한: 6/2) 2개의 스택, stk1, stk2를 이용하여 큐를 구현하라.
CHAP 21. 전화, SMS, 주소록.
Canary value 스택 가드(Stack Guard).
조 병 규 Software Quality Lab. 한 국 교 통 대 학 교
데이터 동적 할당 Collection class.
구조체 (Structure).
4장. 데이터 표현 방식의 이해. 4장. 데이터 표현 방식의 이해 4-1 컴퓨터의 데이터 표현 진법에 대한 이해 n 진수 표현 방식 : n개의 문자를 이용해서 데이터를 표현 그림 4-1.
9장 파일시스템(File System) 박동근.
AT MEGA 128 기초와 응용 I 기본적인 구조.
8장 가상 기억장치의 구성 C반 권예용.
멀티미디어시스템 제 5 장. 멀티미디어 데이터베이스 개념 IT응용시스템공학과 김 형 진 교수.
컴퓨터 프로그래밍 기초 - 11th : 파일 입출력 및 구조체 -
11장 배열 1. 배열이란? 1.1 배열의 개요 1.2 배열의 선언과 사용.
구조체(struct)와 공용체(union)
8장 선택 논리 II 1. 논리연산자 1.1 논리연산자 : AND (&&) 1.2 논리연산자 : OR (||)
컴퓨터 개론 √ 원리를 알면 IT가 맛있다 쉽게 배우는 컴퓨터 기본 원리 한빛미디어 교재출판부.
06. 디바이스의 등록과 해제 김진홍
어서와 C언어는 처음이지 제21장.
 6장. SQL 쿼리.
9장 파일 시스템 이성연.
개정판 누구나 즐기는 C언어 콘서트 제13장 동적 메모리 출처: pixabay.
6 객체.
2019 2학기 9장 배열과 포인터 1. 주소, 주소연산자(&) 2. 포인터, 역참조연산자(*) 3. 배열과 포인터.
Presentation transcript:

제 4 장 Record

레코드(Record)의 개요 레코드(Record) idNo name sex 논리적으로 밀접한 관계를 유지하는 여러 데이타 원소들을 서로 다른 데이타 형태와 크기로 구성해야 할 경우의 자료 구조 하나 이상의 필드(field)로 구성 이질적(heterogeneous) 데이타 구조 예) 학번(idNo), 이름(name), 성별(sex) 필드 갖는 Student 레코드 Student idNo name sex

레코드(Record)의 정의 (1/2) 정보 구성 단위의 계층 문자 화일 필드 데이터 베이스 레코드

레코드(Record)의 정의 (2/2) 필드 레코드 의미 있는 연속된 문자를 기억 시키는데 필요한 몇 개의 바이트들의 묶음 서로 관계 있는 여러 필드를 한 개의 조로 묶어서 구성한 데이타 구조 일반적으로 보조 기억 장치에서의 입출력 단위로 사용

배열과 레코드의 차이점 배열 레코드 데이타 원소의 크기와 데이타 형이 동일하다(Homogeneous) 첨자를 이용하여 원소를 참조(reference) 예)item[k] 레코드 데이타 원소의 크기와 데이타 형이 서로 다르다(Heterogeneous) 필드를 이용하여 원소를 참조 예) Student.idNo

레코드의 표현 - 고정 길이 레코드 (1/2) 레코드의 가장 단순한 표현 방법 각 레코드에 대하여 일정 크기의 기억 공간을 할당 단점 레코드 삭제가 어려움 레코드의 이동을 요구 블록의 크기가 일정 크기의 정수배가 아닐 경우 부가적 블록 액세스를 요구

레코드의 표현 - 고정 길이 레코드 (2/2) 예) 예금 레코드 branch Name account Number customer Name balance 레코드 0 레코드 1 레코드 2 레코드 3 레코드 4 레코드 5 20바이트 4바이트 20바이트 4바이트

레코드의 표현 - 가변 길이 레코드 가변 길이 레코드가 필요한 경우 가변 길이 레코드의 구현 방법 한 화일 내에 여러 유형의 레코드 저장 한 화일 내에 가변 필드를 허용하는 레코드 저장 반복적 필드를 허용하는 레코드의 저장 가변 길이 레코드의 구현 방법 바이트 스트링 표현 고정 길이 레코드 이용

가변 길이 레코드의 표현 - 바이트 스트링 표현 (1/2) 가장 단순한 방법 각 레코드의 끝에 레코드 끝 기호(  )를 첨가 단점 삭제된 레코드의 기억 장소를 재사용하기 어렵다 일반적으로 크기가 증가하는 레코드에 대해서는 기억 장소를 할당하기 어렵다.

가변 길이 레코드의 표현 - 바이트 스트링 표현 (2/2) 예) 1 2 3 4

고정 길이 레코드의 이용- 예약 기억 장소 기법(1/2) 화일내의 최대 레코드 길이 만큼의 고정 레코드를 사용 사용되지 않는 기억 장소 의미 없는 값으로 채워진다 레코드 끝 기호로 채워진다 단점 대부분의 레코드 길이가 최대치와 근사하지 않을 경우 기억 장소가 낭비된다

고정 길이 레코드의 이용- 예약 기억 장소 기법(2/2) 예)

고정 길이 레코드의 이용- 포인터 기법(1/2) 포인터를 통하여 연결되는 고정 길이 레코드의 리스트로 가변 길이 레코드를 표현한다. 포인터 필드를 첨가한다. 예)

고정 길이 레코드의 이용- 포인터 기법(2/2) 단점 해결 방법 기억장소 확보 양을 예측하기 어렵다. 기본블록과 오버플로 블록으로 구분 관리

C 언어에서의 레코드 (1/3) 레코드의 선언 구조체 데이타형태를 선언 struct 구조체 선언명{ member 1의 선언; … member n의 선언; }

C 언어에서의 레코드 (2/3) 레코드 필드의 참조 참조 연산자 “ . ”를 사용 예) person.number = 1; person.name = “Kim, SungSuk”; person.address = “Seoul Sungbuk-Gu”; person.tel = “123-3456”; person.sex = 0;

C 언어에서의 레코드 (3/3) 레코드 배열 배열의 각 원소가 레코드 원소로 구성된 경우 예) struct Jusorok { int number; String name[20]; String address[100]; String tel[13]; int sex; } struct Jusorok person[100]; person [0] [2] … [98] [99] [100]