컴퓨터 프로그래밍-어레이
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