13일 - 어레이
10386 단어 cprogrammingbeginners100daysofcode
배열
배열은 다른 유형의 정렬된 값("요소") 모음을 나타내는 파생 데이터 유형입니다. 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}}
};
Reference
이 문제에 관하여(13일 - 어레이), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://dev.to/envoy_/day-13-arrays-1ja0
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
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];
storage-class data-type array[expression 1][expression 2] . . .[expression n];
type arrayName[m][n];
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 */
};
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}}
};
Reference
이 문제에 관하여(13일 - 어레이), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/envoy_/day-13-arrays-1ja0텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)