C - 자료구조 기초

2022. 3. 21. 19:07C

- 컴퓨터의 메모리는 데이터를 보관하는 장소

- 바이트(8비트)단위로 주소가 지정됨

- 모든 변수는 주소를 가짐

 

자료란 ? 

- 컴퓨터에 저장할 수 있는 모든 값

 

자료형 

- 컴퓨터의 값을 저장할 수 있도록 프로그래밍 언어에서 미리 정의된 값들의 집합

- 시스템에서 제공하는 자료형과 사용자가 정의하는 자료형이 있다.

 

시스템에서 제공하는 자료형

1. 자료의 단위

  - 비트 : 0 또는 1을 기록할 수 있는 최소 단위

  - 바이트 : 1byte는 8비트로 구성

  - 워드 : 한번에 전송하거나 처리하는 단위!! 4byte(32bit) 또는 8byte(64bit)가 많이 사용



2.자료의 구성

 - 세상의 모든 자료는 문자와 숫자로 구성

 - 문자 -> char, char *(string type)

 - 숫자 -> 정수(int) or 실수(float)



3. char (문자표현)

  - 아스키코드 : 8비트로 영어, 숫자, 특수문자를 표현하는 체계

      - 7bits + 1bit(parity 검사)

      - 표현할 수 있는 문자에 한계가 있음

  - 유니코드 : 16비트로 세상의 모든 문자를 표현할 수 있는 체계

      - 한글의 경우 완성형으로 표현 



4. int (정수표현)

  - 4byte를 사용(시스템에 따라 다름)

  - 다양한 크기로 확장됨 

  - short(2bytes), long(4bytes), unsigned int(4bytes)등과 같은 다양한 정수 자료형이 존재



5. float (실수 표현)

  - 부동 소수점 321.05를 부동소수점으로 표현하면 0.32105 x 10^3

사용자가 정의하는 자료형

예시로 학생정보를 표현해야 하는 경우
이름/학번/전화/학과 등,, 여러가지 자료형을 사용해야 함
그래서 이러한 요소들의 집합으로 새로운 자료형을 정의함 
C -> struct
Java, Python, c++ -> class

 

자료의 관리

1. 추가(insert)
	최국민을 전화번호부에 저장 = 자료구조에 새로운 원소를 추가

2. 제거(delete)
	최수민 조교를 전화번호부에서 제거 = 자료구조의 원소를 제거

3. 검색(search)
	최영리 조교를 검색 = 자료구조에서 원소를 검색

 - 추가 제거 검색이 가장 중요한 3연산이다
 - 갱신, 출력, 정렬 등.. 많은 관리 작업이 가능함
 - 추가와 제거는 1번만 사용 가능
 - 검색은 매우 빈번하게 사용 : 가장 중요한 관리작업은 "검색"이다
 
 검색의 3가지 종류
 	- 주어진 집합에서 임의의 원소를 찾아라 (Find arbitrary) = 이 전화번호부에서 최국민의 번호는?
    - 주어진 집합에서 가장 먼저/늦게 온 원소를 찾아라 (Find earliest/last) = 이 전화번호부에서 내가 가장 최근에 전화한 번호는?
    - 주어진 집합에서 top(최대/최소)인 원소를 찾아라 (Find top) = 이 전화번호부에서 내가 가장 많이 전화한 번호는?

'C' 카테고리의 다른 글

C - 자료구조 성능과 점근적 분석법  (0) 2022.03.21
C - 자료구조 기초2  (0) 2022.03.21
C - 구조체 크기 알아보기  (0) 2022.03.15
C - 구조체 심화  (0) 2022.03.14
C - 동적 메모리 할당  (0) 2022.03.11