배열(Array)이란?

JAVA 2019. 6. 12. 01:55

  배열은 같은 자료형의 데이터를 메모리상에 연속적으로 저장하는 자료형이다. 같은 종류의 데이터가 이어져있으며 각 값들을 배열의 원소(Element)라고 한다. 

예를 들어, C 언어로 4개의 자료를 가지는 배열을 선언 해보면 아래와 같이 Index 0 ~ 3인 4 byte 자료 4개가 선언될 것이다.

int arr[4];

위의 간단한 코드 예제에서는 배열만 선언하고 따로 초기화를 진행하지 않았기 때문에 값을 알 수 없는 쓰레기값들(?)이 할당된다. 쓰레기값들로 인한 버그를 없애기 위해 초기화를 하며 선언하는 것을 습관적으로 해야한다. 

int arr[4] = {0,};

모두 0으로 초기화 시키는 C 예제이다. 배열의 모든 원소를 0으로 초기화 시키는 코드인데 개인적으로 이 방식을 선호한다. 

문자 배열의 경우 유의할 것이 하나 더 있는데 문자열의 제일 마지막에는 반드시 특수문자 '\0' = NUL = 0x00 (ASCII)가 들어간다. 문자열이 끝났다는 것을 알려주기 위해 삽입되는 문자로, 개발자가 임의로 넣어서 문자열을 중간에 끊을 수도 있다. 

char str[4] = {0,};
str[0] = 's';
str[1] = 't';
str[2] = 'r';

* C 문자열 복사는 strcpy() 이용

* 배열의 원소 개수

int sizeC = sizeof(arr) / sizeof(자료형); // C 언어

int sizeJava = arr.length; // java

 

다차원 배열

  배열의 원소가 배열 자료형인 배열로, 일반 배열과 마찬가지로 연속적으로 메모리에 존재한다. 단, 행에 대한 인덱스가 열에 대한 인덱스보다 먼저 위치하고 메모리의 물리적 저장 순서 또한 동일하다.

int arr[2][3] = { {3,5,7} , {4,6,8} };

// arr[0][0] = 3 
// arr[0][1] = 5
// arr[0][2] = 7
// arr[1][0] = 4
// arr[1][1] = 6
// arr[1][2] = 8

  

'JAVA' 카테고리의 다른 글

Collection이란  (0) 2019.06.24
Map/HashMap 이란  (0) 2019.06.24
객체(Object)와 인스턴스(Instance)  (0) 2019.06.14
Scanner와 BufferedReader  (0) 2019.05.28
블로그 이미지

Denken_Y

coding 블로그

,