C 배열


C 언어는 array데이터 구조를 지원합니다. 이 구조는 동일한 유형의 요소를 고정 크기로 순차적으로 수집할 수 있습니다. 배열은 일련의 데이터를 저장하는 데 사용되지만 종종 동일한 유형의 일련의 변수로 간주됩니다.

배열의 선언은 숫자0, 숫자1,..., 숫자99 등의 개별 변수를 선언하는 것이 아니라, 숫자 등의 배열변수를 선언한 후 숫자[0], 숫자[1], ... , 숫자[99]는 개별 변수를 나타냅니다. 배열의 특정 요소는 인덱스를 통해 액세스할 수 있습니다.

모든 배열은 연속적인 메모리 위치로 구성됩니다. 가장 낮은 주소는 첫 번째 요소에 해당하고 가장 높은 주소는 마지막 요소에 해당합니다.

1050.jpg

배열 선언

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을 뺀 값입니다. 다음은 위에서 설명한 배열의 그래픽 표현입니다.

1051.jpg

배열 요소 액세스

배열 요소는 배열 이름과 인덱스로 액세스할 수 있습니다. 요소의 인덱스는 배열 이름 뒤에 대괄호로 묶입니다. 예:

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에서는 함수에서 배열을 반환할 수 있습니다.
배열에 대한 포인터색인 없이 배열 이름을 지정하여 배열의 첫 번째 요소에 대한 포인터를 생성할 수 있습니다.