본문 바로가기

Et Cetera

[자료구조] 자료(논리/포인터/문자열)의 표현 방법

반응형

1. 논리

논리 자료는 논리값을 표현하기 위한 자료 형식이다. 논리값참(True)과 거짓(False), 1과 0으로 표현할 수 있으며, 컴퓨터 내부에서는 보통 1byte로 표현한다.

(C언어에서 논리 표현 자료형은 'bool' 자료형을 사용하며, 0이 아닌 값은 True, 0을 False로 처리한다.)

 

<1byte 논리자료 표현>

구    분 1 2 3
최하위 비트 1 표시
0000 0001
전체 비트 1 표시
1111 1111
하나 이상의 비트 1 표시
0000 0100 등
거짓
전체 비트 0 표시
0000 0000
전체 비트 0 표시
0000 0000
전체 비트 0 표시
0000 0000

 

2. 포인터

포인터는 메모리의 주소를 표현하기 위한 자료 형식이다. 자료를 저장하고 있는 변수의 주소나 메모리의 특정 위치에 대한 주소를 저장하고, 주소 연산을 할 때 사용한다. 포인터를 사용하면 복잡한 자료 구조 연산을 메모리 주소 연산만으로 처리할 수 있으며, 메모리에 직접 접근이 가능하다.

(C언어에서 포인터는 *를 이용하여 표현한다.)

3. 문자열

문자열(String)은 여러 문자로 이루어진 문자의 그룹을 하나의 자료로 취급하여 메모리에 연속적으로 저장하는 자료 형식이다.

(C언어에서 문자열은 포인터 또는 배열을 사용한다.)

 

<문자열 저장 방법>

구    분 표현방법 메모리 이용률 탐색 시간
구분자 부분 문자열 사이에 구분자(;​) 사용하여 저장
문자열 길이 + 구분자 길이
(효율적)
문자 비교 연산 시간 +
구분자 식별 시간
(비효율적)
고정 길이 가장 긴 문자열의 길이에 맞추어 고정 길이(배열) 저장
가장 긴 부분 문자열 길이 ×
부분 문자열 개수
(비효율적)
문자 비교 연산 시간
(효율적)
길이가 짧은 문자열에 대한 메모리 공간 낭비 발생하지만 처리 속도 빠름
포인터 부분 문자열을 연속 저장하고, 각 부분 문자열에 대한 포인터 사용
문자열 길이 +
포인터 저장 공간
(효율적)
문자 비교 연산 시간 +
포인터 주소 연산 시간
(효율적)

 

 

 

참고: 메가존아이티평생교육원, 자료구조 1주 2회

반응형