컴퓨터 프로그래밍-어레이

5 개의 정수를 저장해야하는 상황을 고려하십시오. 프로그래밍의 단순 변수 및 데이터 유형 개념을 사용하면 다음과 같은 5 개의 변수가 필요합니다.int 데이터 유형과 프로그램은 다음과 같습니다-

#include <stdio.h>

int main() {
   int number1;
   int number2;
   int number3;
   int number4;
   int number5;
   
   number1 = 10;      
   number2 = 20;   
   number3 = 30;   
   number4 = 40; 
   number5 = 50;     

   printf( "number1: %d\n", number1);
   printf( "number2: %d\n", number2);
   printf( "number3: %d\n", number3);
   printf( "number4: %d\n", number4);
   printf( "number5: %d\n", number5);
}

5 개의 정수만 저장해야했기 때문에 간단했습니다. 이제 5000 개의 정수를 저장해야한다고 가정 해 보겠습니다. 5000 개의 변수를 사용할 건가요?

이러한 상황을 처리하기 위해 거의 모든 프로그래밍 언어는 array. 배열은 동일한 데이터 유형의 고정 크기 요소 컬렉션을 저장할 수있는 데이터 구조입니다. 배열은 데이터 모음을 저장하는 데 사용되지만 배열을 동일한 유형의 변수 모음으로 생각하는 것이 더 유용합니다.

number1, number2, ..., number99와 같은 개별 변수를 선언하는 대신 배열 변수 하나만 선언하면됩니다. number정수 유형이고 number1 [0], number1 [1] 및 ..., number1 [99]를 사용하여 개별 변수를 나타냅니다. 여기서 0, 1, 2, ..... 99는index 와 관련된 var 변수이며 배열에서 사용 가능한 개별 요소를 나타내는 데 사용됩니다.

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

배열 만들기

C에서 배열 변수를 만들기 위해 프로그래머는 요소의 유형과 해당 배열에 저장할 요소의 수를 지정합니다. 다음은 C 프로그래밍에서 배열을 만드는 간단한 구문입니다.

type arrayName [ arraySize ];

이것을 1 차원 배열 이라고합니다 . 그만큼arraySize 0보다 큰 정수 상수 여야하며 type유효한 C 데이터 유형이 될 수 있습니다. 예를 들어, 이제 10 개 요소 배열을 선언하려면number 유형 int, 다음 문장을 사용하십시오-

int number[10];

여기서 number 는 최대 10 개의 정수를 보유하기에 충분한 가변 배열입니다.

배열 초기화

다음과 같이 C 배열을 하나씩 또는 단일 문을 사용하여 초기화 할 수 있습니다.

int number[5] = {10, 20, 30, 40, 50};

중괄호 {} 사이의 값 수는 대괄호 [] 사이의 배열에 대해 선언 한 요소 수보다 클 수 없습니다.

배열의 크기를 생략하면 초기화를 저장할 수있을만큼 큰 배열이 생성됩니다. 따라서 다음과 같이 쓰면-

int number[] = {10, 20, 30, 40, 50};

이전 예제에서했던 것과 똑같은 배열을 만들 것입니다. 다음은 배열의 단일 요소를 할당하는 예입니다.

number[4] = 50;

위의 문은 50의 값으로 배열의 5 번째 요소 번호를 할당합니다. 모든 배열은 기본 색인이라고도하는 첫 번째 요소의 색인으로 0을 가지며 배열의 마지막 색인은 배열의 총 크기에서 뺀 값이됩니다. 1. 다음 이미지는 위에서 논의한 배열의 그림 표현을 보여줍니다.

배열 요소에 액세스

배열 이름을 인덱싱하여 요소에 액세스합니다. 이는 배열 이름 뒤에 대괄호 안에 요소의 인덱스를 배치하여 수행됩니다. 예를 들면-

int var = number[9];

위의 문은 배열에서 10 번째 요소를 가져 와서 값을 할당합니다. var변하기 쉬운. 다음 예제에서는 위에서 언급 한 세 가지 개념을 모두 사용합니다. 배열 생성, 할당 및 액세스-

#include <stdio.h>
 
int main () {
   int number[10]; /* number is an array of 10 integers */
   int i = 0;
 
   /* Initialize elements of array n to 0 */         
   while( i < 10 ) {
	
      /* Set element at location i to i + 100 */
      number[ i ] = i + 100;
      i = i + 1;
   }
   
   /* Output each array element's value */
   i = 0;
   while( i < 10 ) {
	
      printf("number[%d] = %d\n", i, number[i] );
      i = i + 1;
   }
   
   return 0;
}

위의 코드가 컴파일되고 실행되면 다음과 같은 결과가 생성됩니다.

number[0] = 100
number[1] = 101
number[2] = 102
number[3] = 103
number[4] = 104
number[5] = 105
number[6] = 106
number[7] = 107
number[8] = 108
number[9] = 109

자바의 배열

다음은 Java로 작성된 동등한 프로그램입니다. Java는 배열을 지원하지만 배열을 사용하여 Java에서 생성되는 방식에는 약간의 차이가 있습니다.new 운영자.

위의 C 예제에서 생성 된 결과와 동일해야하는 출력을보기 위해 다음 프로그램을 실행할 수 있습니다.

public class DemoJava {
   public static void main(String []args) {
      int[] number = new int[10];
      int i = 0;
      
      while( i < 10 ) {
		
         number[ i ] = i + 100;
         i = i + 1;
      }

      i = 0;
      while( i < 10 ) {
         System.out.format( "number[%d] = %d\n", i, number[i] );
         i = i + 1;
      }
   }
}

위의 프로그램이 실행되면 다음과 같은 결과가 나옵니다.

number[0] = 100
number[1] = 101
number[2] = 102
number[3] = 103
number[4] = 104
number[5] = 105
number[6] = 106
number[7] = 107
number[8] = 108
number[9] = 109

Python의 배열 (목록)

Python에는 배열 개념이 없습니다. 대신 Python은 다음과 같은 다른 데이터 구조를 제공합니다. list, 다른 언어의 배열과 유사한 기능을 제공합니다.

다음은 Python으로 작성된 동등한 프로그램입니다.

# Following defines an empty list.
number = []
i = 0

while i < 10:
   # Appending elements in the list
   number.append(i + 100)
   i = i + 1

i = 0
while i < 10:
   # Accessing elements from the list
   print "number[", i,  "] = ", number[ i ]
   i = i + 1

위의 프로그램이 실행되면 다음과 같은 결과가 나옵니다.

number[ 0 ] =  100
number[ 1 ] =  101
number[ 2 ] =  102
number[ 3 ] =  103
number[ 4 ] =  104
number[ 5 ] =  105
number[ 6 ] =  106
number[ 7 ] =  107
number[ 8 ] =  108
number[ 9 ] =  109