Home Array
Post
Cancel

Array

배열

배열이란?

  • 선언한 자료형의 데이터를 여러 개 저장할 수 있도록 고안된 자료구조

기본형

1
  (size_t) ArrayName[ Array_Index ]
1
2
  (size_t) ArrayName = new Array[ Array_Size ]
  // 자바에서의 배열은 배열의 크기를 동적으로 지정할 수 있음

다차원 배열

  • 프로그램 안에서 다차원의 배열을 생성 가능
  • 가시적으로 그릴 수 있는 경우
    • 1차원 배열
    • 2차원 배열
    • 3차원 배열
  • 현실적으로 그리기 어려운 경우
    • 다차원 배열

장단점

  • 장점
    • 여러개의 정형화된 데이터를 저장하는 가장 쉬운 방법
    • 삽입, 삭제, 검색이 빠름
  • 단점
    • 배열의 크기를 변수로 지정할 수 없음 ( 가변적이지 않음 )
      • 해결 방안 : 동적할당
    • 사용하지 않은 인덱스에서 메모리 낭비 가 발생할 수 있음

소스코드

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
#include <stdio.h>
#include <stdlib.h>
#define ARRAY_SIZE 10

int main() {
    int mainArraySize = 10;

    // declare static Array
    // can't use main array size
    int array[ARRAY_SIZE];
    int twoDimensionArray[ARRAY_SIZE][ARRAY_SIZE];
    int threeDimensionArray[ARRAY_SIZE][ARRAY_SIZE][ARRAY_SIZE];

    // declare dynamic Array
    // can use main array size
    int* mallocArray = (int *)malloc(sizeof(int) * mainArraySize);

    /*
        After some commands...
    */

    // must free dynamic Array after use all
    free(mallocArray);
    mallocArray = NULL;

    return 0;
}
This post is licensed under CC BY 4.0 by the author.