1차원 배열 예제

변수를 사용하면 한 번에 단일 값을 저장할 수 있습니다. 100 명의 학생? 이 작업의 경우 100개의 변수를 선언한 다음 각 변수에 값을 할당해야 합니다. 10,000명 이상의 학생이 있는 경우 어떻게 해야 합니까? 단일 엔터티(예: 학생)에 대한 많은 변수가 좋은 생각이 아니라는 것을 선언하는 것을 볼 수 있습니다. 이러한 경우 이러한 배열은 데이터를 저장하는 더 나은 방법을 제공합니다. num은 int 형식의 100개 요소만 저장할 수 있는 형식 int의 배열입니다. ch는 문자 문자의 50개 요소만 저장할 수 있는 형식 char의 배열입니다. 5호선에서는 5개의 정수 배열과 int 형식의 변수 i를 선언했습니다. 그런 다음 for 루프를 사용하여 배열에 5개의 요소를 입력합니다. scanf() 우리는 형식 int, float, char 등의 변수와 마찬가지로 배열의 요소 arr[i]에 및 연산자 (연산자의 주소라고도 함)를 사용했습니다. 줄 13은 콘솔에 “배열의 인쇄 요소”를 인쇄합니다.

두 번째 for 루프는 배열의 모든 요소를 하나씩 인쇄합니다. Iliffe 벡터는 다차원 배열 구조의 대안입니다. 한 차원 이하의 배열에 대한 1차원 참조 배열을 사용합니다. 두 차원의 경우, 특히 이 대체 구조는 각 행에 대해 하나씩 벡터에 대한 포인터 벡터(c 또는 c++)가 됩니다. 따라서 배열 A의 행 i 및 열 j의 요소는 이중 인덱싱 (일반적인 표기법의 A[i][j])에 의해 액세스됩니다. 이 대체 구조를 사용하면 각 행의 크기가 다를 수 있는 들쭉날쭉한 배열또는 일반적으로 각 인덱스의 유효한 범위가 선행 모든 인덱스의 값에 따라 달라질 수 있습니다. 또한 일부 아키텍처에서는 가치가 있을 수 있는 한 번의 곱셈(열 주소 증분)을 비트 시프트(행 포인터의 벡터 색인 생성)와 추가 메모리 액세스(행 주소 가져오기)로 대체합니다. 하나 이상의 큰 배열은 프로그램 내 동적 메모리 할당, 특히 메모리 풀 할당을 에뮬레이트하는 데 사용되는 경우가 있습니다. 역사적으로, 이것은 때때로 “동적 메모리”를 이식가능하게 할당하는 유일한 방법이었습니다. 배열은 단일 또는 다차원일 수 있습니다. 하위 스크립트 또는 인덱스의 수는 배열의 차원을 결정합니다.

한 차원의 배열은 1차원 배열 또는 1차원 배열로 알려져 있으며 2차원 배열은 2차원 배열 또는 2차원 배열이라고 합니다. 이는 지정된 도메인, 즉 배열의 요소 수와 함께 모든 행렬 집합의 차원과 혼동해서는 안 됩니다. 예를 들어 5개의 행과 4개의 열이 있는 배열은 2차원이지만 행렬은 20차원 공간을 형성합니다. 유사하게, 3차원 벡터는 3크기의 1차원 배열로 표현될 수 있다. 표준 배열에서 각 인덱스는 특정 연속 정수 범위(또는 열거된 일부 형식의 연속 값)로 제한되며 요소의 주소는 인덱스의 “선형” 수식으로 계산됩니다.

カテゴリー未分類