C 배열
C 언어는 array데이터 구조를 지원합니다. 이 구조는 동일한 유형의 요소를 고정 크기로 순차적으로 수집할 수 있습니다. 배열은 일련의 데이터를 저장하는 데 사용되지만 종종 동일한 유형의 일련의 변수로 간주됩니다.
배열의 선언은 숫자0, 숫자1,..., 숫자99 등의 개별 변수를 선언하는 것이 아니라, 숫자 등의 배열변수를 선언한 후 숫자[0], 숫자[1], ... , 숫자[99]는 개별 변수를 나타냅니다. 배열의 특정 요소는 인덱스를 통해 액세스할 수 있습니다.
모든 배열은 연속적인 메모리 위치로 구성됩니다. 가장 낮은 주소는 첫 번째 요소에 해당하고 가장 높은 주소는 마지막 요소에 해당합니다.
배열 선언
C에서 배열을 선언하려면 아래와 같이 요소의 유형과 요소 수를 지정해야 합니다.
type arrayName [ arraySize ];
이를 1차원 배열이라고 합니다. arraySize는 0보다 큰 정수 상수여야 하며, type은 유효한 C 데이터 유형일 수 있습니다. 예를 들어, 10개의 요소를 포함하는 double 유형의 배열 balance을 선언하려면 선언문은 다음과 같습니다.
double balance[10];
이제 balance는 double 유형의 10개 숫자를 보유할 수 있는 사용 가능한 배열입니다.
배열 초기화
C에서는 배열을 하나씩 초기화하거나 다음과 같이 초기화 문을 사용할 수 있습니다.
double balance[5] = {1000.0, 2.0, 3.4, 7.0, 50.0};
중괄호 { } 사이의 값 개수는 배열의 개수보다 클 수 없습니다. 배열을 선언할 때 대괄호 안에 넣는 중괄호 { } 사이의 값 [ ]에 지정된 요소의 수입니다.
배열의 크기를 생략하면 배열의 크기는 초기화하는 동안의 요소 수입니다. 따라서 다음과 같은 경우
double balance[] = {1000.0, 2.0, 3.4, 7.0, 50.0};
이전 인스턴스에서 생성된 것과 정확히 동일한 배열을 생성하게 됩니다. 다음은 배열의 요소에 값을 할당하는 예입니다.
balance[4] = 50.0;
위 명령문은 배열의 다섯 번째 요소의 값을 50.0에 할당합니다. 모든 배열은 기본 인덱스라고도 하는 첫 번째 요소로 0을 사용하여 인덱스가 지정되며 배열의 마지막 인덱스는 배열의 전체 크기에서 1을 뺀 값입니다. 다음은 위에서 설명한 배열의 그래픽 표현입니다.
배열 요소 액세스
배열 요소는 배열 이름과 인덱스로 액세스할 수 있습니다. 요소의 인덱스는 배열 이름 뒤에 대괄호로 묶입니다. 예:
double salary = balance[9];
위 명령문은 배열의 10번째 요소 값을 급여 변수에 할당합니다. 다음 예에서는 위의 세 가지 개념, 즉 배열 선언, 배열 할당 및 배열 액세스를 사용합니다.
#include <stdio.h> int main (){ int n[ 10 ]; /* n 是一个包含 10 个整数的数组 */ int i,j; /* 初始化数组元素 */ for ( i = 0; i < 10; i++ ) { n[ i ] = i + 100; /* 设置元素 i 为 i + 100 */ } /* 输出数组中每个元素的值 */ for (j = 0; j < 10; j++ ) { printf("Element[%d] = %d\n", j, n[j] ); } return 0;}
위 코드를 컴파일하고 실행하면 다음과 같은 결과가 생성됩니다.
Element[0] = 100Element[1] = 101Element[2] = 102Element[3] = 103Element[4] = 104Element[5] = 105Element[6] = 106Element[7] = 107Element[8] = 108Element[9] = 109
C 배열에 대한 자세한 설명
C에서는 배열이 매우 중요하므로 배열에 대해 더 자세히 알아야 합니다. 다음은 C 프로그래머가 알아야 할 배열과 관련된 몇 가지 중요한 개념입니다.
개념 | 설명 |
---|---|
다차원 배열 | C는 다차원 배열을 지원합니다. 다차원 배열의 가장 간단한 형태는 2차원 배열입니다. |
함수에 배열 전달 | 인덱스 없이 배열 이름을 지정하여 배열에 대한 포인터를 함수에 전달할 수 있습니다. |
함수에서 배열 반환 | C에서는 함수에서 배열을 반환할 수 있습니다. |
배열에 대한 포인터 | 색인 없이 배열 이름을 지정하여 배열의 첫 번째 요소에 대한 포인터를 생성할 수 있습니다. |