13일 - 어레이

드디어 💯 Days of Code의 13일이 끝났습니다. 오늘은 배열에 대해 알아보고 배열의 길이를 결정하는 방법과 다차원 배열을 사용하는 방법에 대해 알아보았습니다.

배열



배열은 다른 유형의 정렬된 값("요소") 모음을 나타내는 파생 데이터 유형입니다. C의 대부분의 배열에는 한 유형의 고정된 수의 요소가 있으며 그 표현은 공백이나 패딩 없이 요소를 메모리에 연속적으로 저장합니다. C는 요소가 다른 배열인 다차원 배열과 포인터 배열을 허용합니다.


배열 정의



배열은 각 배열 이름에 크기 사양(즉, 요소 ​​수)이 수반되어야 한다는 점을 제외하면 일반 변수와 거의 동일한 방식으로 정의됩니다. 1차원 배열의 경우 크기는 대괄호로 묶인 양의 정수 식으로 지정됩니다. 식은 일반적으로 양의 정수 상수로 작성됩니다.

일반적으로 -

storage-class data-type array[expression];
storage-class data-type array[expression] = {value 1, value 2, . . ., value n};


예 -

int x[100];
char text[80];



배열 길이



배열에는 선언 범위 내에서 알려진 고정 길이가 있습니다. 그럼에도 불구하고 배열 길이를 계산하는 것이 가능하고 때로는 편리합니다.

예시:

#include <stdio.h>

void main() {
    int arr[] = {0, 1, 2, 3, 4, 5, 6, 7};
    int length = sizeof(arr)/sizeof(arr[0]);
    printf("Length of array is %d\n", length); // Length of array is 8
}



배열의 값 설정



배열 값에 액세스하는 것은 일반적으로 대괄호를 통해 이루어집니다.

int val;
int array[10];

/* Setting the value of the fifth element to 5: */
array[4] = 5;

/* Reading the value of the fifth element: */
val = array[4];



다차원 배열



다차원 배열은 1차원 배열과 거의 동일한 방식으로 정의됩니다.
각 첨자에는 별도의 대괄호 쌍이 필요합니다. 따라서 2차원 배열에는 2개가 필요합니다.
한 쌍의 대괄호, 3차원 배열에는 세 쌍의 대괄호 등이 필요합니다.

일반적으로 다차원 배열 정의는 다음과 같이 작성할 수 있습니다.

storage-class data-type array[expression 1][expression 2] . . .[expression n];


2차원 배열



다차원 배열의 가장 단순한 형태는 2차원 배열입니다. 2차원 배열은 본질적으로 1차원 배열의 목록입니다. 차원 m x n의 2차원 정수 배열을 선언하려면 다음과 같이 작성할 수 있습니다.

type arrayName[m][n];


3개의 행과 4개의 열을 포함하는 2차원 배열 a는 다음과 같이 나타낼 수 있습니다.




2차원 배열 초기화



다차원 배열은 각 행에 대괄호로 묶인 값을 지정하여 초기화할 수 있습니다. 다음은
각 행에 4개의 열이 있는 3개의 행이 있는 배열.

int a[3][4] = {
 {0, 1, 2, 3} , /* initializers for row indexed by 0 */
 {4, 5, 6, 7} , /* initializers for row indexed by 1 */
 {8, 9, 10, 11} /* initializers for row indexed by 2 */
};



3차원 배열



3D 배열은 기본적으로 배열 배열의 배열입니다. 즉, 2D 배열의 배열 또는 컬렉션이고 2D 배열은 1D 배열의 배열입니다.



3D 어레이 메모리 맵





3D 어레이 초기화:




double cprogram[3][2][4]={
{{-0.1, 0.22, 0.3, 4.3}, {2.3, 4.7, -0.9, 2}},
{{0.9, 3.6, 4.5, 4}, {1.2, 2.4, 0.22, -1}},
{{8.2, 3.12, 34.2, 0.1}, {2.1, 3.2, 4.3, -2.0}}
};

좋은 웹페이지 즐겨찾기