일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
- uaiperception
- c언어정리
- 게임개발
- unrealengineai
- DX
- 게임엔진튜토리얼
- livrary
- 언리얼ai
- c++
- 언리얼엔진5
- bttask
- 언리얼비헤이어비어트리
- c++class
- 25.06.11dir
- leveleditor
- 언리얼엔진공부
- c++용어정리
- 프로그래밍일기
- c++porinter
- 프로그래밍
- 언리얼엔진
- 영단어정리
- ipc(inter process communication)
- 각도변환
- 월드아웃라이너
- directx
- 자료구조정리
- 자료형타입
- 자료구조
- 수학용어정리
- Today
- Total
루리코딩 세상
배열 (Array) 자료구조 정리 본문
배열은 번호와 번호에 대응하는 데이터들로 이루어진 자료 구조를 나타낸다. 일반적으로 배열에는 같은 종류의 데이터들이 순차적으로 저장되어, 값의 번호가 곧 배열의 시작점으로부터 값이 저장되어 있는 상대적인 위치가딘다. 대부분의 프로그래밍 언어에서 사용할 수 있는 가장 기초적인 자료 구조로, 기본적인 용도 외에 다른 복잡한 구조들을 표현하기 위해서 행렬, 벡터 등을 컴퓨터에서 표현하는 용도 등으로도 사용된다. 배열의 첫번째 요소의 메모리 주소를 첫 번째 주소 또는 기본 주소라고한다.
동적 배열(Dybamic array)는 프로그래밍에서 크기가 고정되지 않은 배열을 의미한다.
C++에서는 vector라는 타입이 동작 배열을 지원한다.
동적 배열은 동적 할당 배열과는 다르다. 동적 할당 배열은 배열이 할당될 때 크기가 고정되는 배열이지만 동적 배열은 이러한 고정 크기 배열을 백엔드로 사용할 수 있다.
C++에서 vector는 동적으로 크기를 조절할 수 있는 컨테이너이다.
#include <vector>
std::vector<int> v;
위 처럼 선언만 하면 v는 비어있는 상태로 push_back()이나 resize()를 통해 명시적으로 크기를 늘려주어야 한다.
요약
선언만 함 (vector<int> v;) | ❌ 아니요 | 비어 있음 |
push_back() 호출 | ✅ 네 | 끝에 요소 추가 |
resize(n) 호출 | ✅ 네 | 강제로 크기 설정 |
v[i] 직접 접근 | ❌ 아니요 | 크기보다 큰 인덱스는 에러 |
2차원 배열
배열의 장점
빠른 접근 속도 / 메모리 관리 용이성 / 이해하기 쉬운 구조 / 연속적인 메모리 할당
단점
고정된 크기 / 메모리 낭비 / 삽입과 삭제의 어려움 / 비효율적인 크기 변경
참고자료
https://velog.io/@kiduki555/%EB%B0%B0%EC%97%B4Array%EC%9D%98-%EB%AA%A8%EB%93%A0-%EA%B2%83
배열(Array)의 모든 것
배열의 모든것....!
velog.io
https://ko.wikipedia.org/wiki/%EB%B0%B0%EC%97%B4
배열 - 위키백과, 우리 모두의 백과사전
위키백과, 우리 모두의 백과사전. 컴퓨터 과학에서 배열(영어: array, 配列·排列, 문화어: 배렬)은 번호(인덱스)와 번호에 대응하는 데이터들로 이루어진 자료 구조를 나타낸다. 일반적으로 배열
ko.wikipedia.org
'이론 > 자료구조' 카테고리의 다른 글
선형 자료구조와 비선형 자료구조 (1) | 2025.06.04 |
---|---|
연결 리스트(Linked list) (0) | 2025.05.29 |
IPC(Inter Process Communication) (2) | 2025.05.26 |
콜백 ( Callback ) 함수 (0) | 2025.05.22 |
자료 구조(Data Structures) 종류 및 특징 도표 / 작성일 기록부 (0) | 2025.05.20 |