일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 자료형
- zgc
- SpringBoot Initializr
- MergeSort
- IAC
- redis
- Sprint Security
- lambda
- ansible
- programmers
- Java
- For
- 기초
- Kotlin
- Algorithm
- datastructure
- g1gc
- 연산자
- JPA
- Class
- If
- UserDetails
- JavaScript
- Fluent-bit
- While
- quicksort
- Spring Security
- datatype
- C++
- jvm
Archives
- Today
- Total
뭐라도 끄적이는 BLOG
02. 배열 (Array) 본문
배열(Array)은 같은 자료형의 데이터를 메모리상에서 연속적으로 저장하는 자료형을 말한다. 이러한 연속된 각각의 값을 배열의 원소(Element)라고 한다.
위 그림은 int 자료형 원소가 4개 연속해 이어져 있는 1차원 배열을 나타내고 있다. int 자료형이기 때문에 자료 1개당 크기는 4바이트이다. 이제 이러한 배열의 이름을 key라고 하였을 때 C소스로 정의하면 다음과 같다.
int key[4];
위 C소스는 key라는 이름을 가지며 4개의 int자료형 원소를 가지는 배열을 정의하는 소스이다.
배열의 위치 인덱스는 0부터 시작이 되며 차례대로 key[0], key[1], key[2], key[3]이 된다. 배열의 원소의 개수가 4개이면 마지막 인덱스는 3이 되어 마지막 원소가 key[3]이다.
위 그림에서 배열 key의 각 원소 값이 모두 '?'이다. 이것은 각 언어마다 초기화 값이 정해져 있기도 하다. 하지만 C에서는 초기화되지 않고 해당 메모리를 사용하겠다고 선언한 것이기 때문에 이전에 어떤 값이 할당된 메모리에 남아있었는지 알 수단이 없다. 이러한 값을 쓰레기 값이라고 하며 C에서 뿐만 아니라 다른 언어에서도 변수 초기화 없이 선언만 하는 것은 반드시 피해야 한다.
다차원배열
다차원 배열(Multi-Dimensional Array)은 배열의 원소가 배열 자료형인 배열을 말한다. 예를 들어 2차원 배열의 경우 2차원 배열의 각 원소는 1차원 배열이다. 마찬가지로 3차원 배열의 경우 2차원 배열이 3차원 배열의 각 원소가 된다.
int values[2][3] = {{1,2,3},{4,5,6}};
반응형
'기본이론 > Datastructure' 카테고리의 다른 글
06. 트리(Tree) (0) | 2023.06.17 |
---|---|
05. 큐(Queue) (0) | 2023.06.17 |
04. 스택(Stack) (0) | 2023.06.17 |
03. 리스트(List) (0) | 2023.06.17 |
01. 자료구조의 정의 (0) | 2023.06.17 |