ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 3.1 배열
    자료구조(C)/배열,구조체,포인터 2020. 7. 9. 17:34

    배열(array)의 개념

    동일한 타입의 데이터를 한 번에 여러 개 만들 때 사용된다.

    "연속적인 메모리 공간"이 할당되고 index 번호를 사용하여 쉽게 접근이 가능하다.

    -> 렌덤 억세스: 기억 장치에서 자료를 읽거나 쓸 때 기억 장소에 관계없이 동일한 접근 시간이 걸리는 접근 방식. 즉, 기억 장치에 저장된 자료를 차례대로 접근하지 않고 거의 동일한 시간 내에 임의의 장소를 찾아 접근할 수 있는 방식이다.

    ex) int list[6];

     

    배열 ADT

    array

    객체: <인덱스, 값> 쌍의 집합

    연산:

     - create(size) ::= size개의 요소를 저장할 수 있는 배열 생성

     - get(A, i) ::= 배열 A의 i번째 요소 반환.

     - set(A, i, v) ::= 배열 A의 i번째 위치에 값 v 저장.

    c에서는 기본으로 구현되있어서 구현 필요 x

     

    c에서의 1차원 배열

    n만큼의 배열의 크기를 정하여, 0~n-1만큼의 변수를 만든다.

    ex)

    int list[6]; -> create(size)

    list배열의 요소는 총 6개가 있다.

    list[0] = 100; -> set연산

    list[0] = value-> get연산

     

    c에서의 2차원 배열

    가로줄을 행(row), 세로줄을 열(column)이라고 한다.

    ex) int list[3][5];

    list[0][0] list[0][1] list[0][2] list[0][3] list[0][4]
    list[1][0] list[1][1] list[1][2] list[1][3] list[1][4]
    list[2][0] list[2][1] list[2][2] list[2][3] list[2][4]

     

    c에서의 3차원 배열

    크기가 n만큼의 1차원 배열을 만들고, 이 배열의 요소에 x,y 만큼의 행과 열을 가진 2차원 배열을 생성하여 추가한다.

     

    출처: https://kimsg12.tistory.com/entry/임의-접근-random-access-任意接近 [정리노트] ->렌덤 억세스 설명 부분

    '자료구조(C) > 배열,구조체,포인터' 카테고리의 다른 글

    3.4 구조체와 포인터  (0) 2020.07.17
    3.3 동적 메모리 할당  (0) 2020.07.17
    3.2 포인터  (0) 2020.07.13

    댓글

Designed by Tistory.