C 언어
이 튜토리얼에서는 배열로 작업하는 방법을 배웁니다. 예제를 통해 배열의 요소를 선언, 초기화 및 액세스하는 방법을 배웁니다.
<그림>배열은 여러 값을 저장할 수 있는 변수입니다. 예를 들어, 100개의 정수를 저장하려는 경우 해당 배열을 만들 수 있습니다.
int data[100];
<시간> dataType arrayName[arraySize];
예:
float mark[5];
여기에서 mark 배열을 선언했습니다. , 부동 소수점 유형. 크기는 5입니다. 즉, 5개의 부동 소수점 값을 저장할 수 있습니다.
일단 선언되면 배열의 크기와 유형을 변경할 수 없다는 점에 유의해야 합니다.
<시간>인덱스로 배열의 요소에 액세스할 수 있습니다.
배열 mark를 선언했다고 가정합니다. 위와 같이. 첫 번째 요소는 mark[0]입니다. , 두 번째 요소는 mark[1]입니다. 등등.
<그림>n-1
인덱스가 사용됩니다. 이 예에서 mark[4] mark[0]
라고 가정합니다. 2120d입니다. . 그런 다음 mark[1]
의 주소 2124d가 됩니다. . 마찬가지로 mark[2]
의 주소는 2128d가 됩니다. 등등. float
의 크기 때문입니다. 4바이트입니다.선언 중에 배열을 초기화할 수 있습니다. 예를 들어,
int mark[5] = {19, 10, 8, 17, 9};
이와 같이 배열을 초기화할 수도 있습니다.
int mark[] = {19, 10, 8, 17, 9};
여기서는 크기를 지정하지 않았습니다. 그러나 컴파일러는 5개의 요소로 초기화하므로 크기가 5라는 것을 알고 있습니다.
<그림>여기,
mark[0] is equal to 19 mark[1] is equal to 10 mark[2] is equal to 8 mark[3] is equal to 17 mark[4] is equal to 9<시간>
int mark[5] = {19, 10, 8, 17, 9}
// make the value of the third element to -1
mark[2] = -1;
// make the value of the fifth element to 0
mark[4] = 0;
<시간> 다음은 사용자로부터 입력을 받아 배열 요소에 저장하는 방법입니다.
// take input and store it in the 3rd element
scanf("%d", &mark[2]);
// take input and store it in the ith element
scanf("%d", &mark[i-1]);
다음은 배열의 개별 요소를 인쇄하는 방법입니다.
// print the first element of the array
printf("%d", mark[0]);
// print the third element of the array
printf("%d", mark[2]);
// print ith element of the array
printf("%d", mark[i-1]);
<시간>
// Program to take 5 values from the user and store them in an array
// Print the elements stored in the array
#include <stdio.h>
int main() {
int values[5];
printf("Enter 5 integers: ");
// taking input and storing it in an array
for(int i = 0; i < 5; ++i) {
scanf("%d", &values[i]);
}
printf("Displaying integers: ");
// printing elements of an array
for(int i = 0; i < 5; ++i) {
printf("%d\n", values[i]);
}
return 0;
}
출력
Enter 5 integers: 1 -3 34 0 3 Displaying integers: 1 -3 34 0 3
여기서는 for
을 사용했습니다. 루프를 사용하여 사용자로부터 5개의 입력을 가져와 배열에 저장합니다. 그런 다음 다른 for
을 사용하여 루프에서 이러한 요소가 화면에 표시됩니다.
// Program to find the average of n numbers using arrays
#include <stdio.h>
int main()
{
int marks[10], i, n, sum = 0, average;
printf("Enter number of elements: ");
scanf("%d", &n);
for(i=0; i<n; ++i)
{
printf("Enter number%d: ",i+1);
scanf("%d", &marks[i]);
// adding integers entered by the user to the sum variable
sum += marks[i];
}
average = sum/n;
printf("Average = %d", average);
return 0;
}
출력
Enter n: 5 Enter number1: 45 Enter number2: 35 Enter number3: 38 Enter number4: 31 Enter number5: 49 Average = 39
여기에서 n의 평균을 계산했습니다. 사용자가 입력한 숫자입니다.
<시간>10개 요소의 배열을 선언했다고 가정합니다. 말하자면,
int testArray[10];
testArray[0]
에서 배열 요소에 액세스할 수 있습니다. testArray[9]
로 .
이제 testArray[12]
에 액세스하려고 하면 . 요소를 사용할 수 없습니다. 이로 인해 예기치 않은 출력(정의되지 않은 동작)이 발생할 수 있습니다. 때로는 오류가 발생할 수 있으며 때로는 프로그램이 올바르게 실행될 수 있습니다.
따라서 경계 외부의 배열 요소에 액세스해서는 안 됩니다.
<시간>이 자습서에서는 배열에 대해 배웠습니다. 이러한 배열을 1차원 배열이라고 합니다.
다음 튜토리얼에서는 다차원 배열(배열의 배열)에 대해 배웁니다.
C 언어
동일한 유형의 요소에 대한 고정 크기 순차 컬렉션을 저장할 수 있는 일종의 데이터 구조를 배열합니다. 배열은 데이터 모음을 저장하는 데 사용되지만 종종 배열을 같은 유형의 변수 모음으로 생각하는 것이 더 유용합니다. number0, number1, ..., number99와 같은 개별 변수를 선언하는 대신 숫자와 같은 하나의 배열 변수를 선언하고 숫자[0], 숫자[1], ..., 숫자[99]를 사용하여 표현합니다. 개별 변수. 배열의 특정 요소는 인덱스에 의해 액세스됩니다. 모든 배열은 연속적인 메모리 위치로 구성됩니다. 가장
배열은 동일한 유형의 요소에 대한 고정 크기 순차 컬렉션을 저장합니다. 배열은 데이터 모음을 저장하는 데 사용되지만 배열을 인접한 메모리 위치에 저장된 동일한 유형의 변수 모음으로 생각하는 것이 더 유용합니다. number0, number1, ..., number99와 같은 개별 변수를 선언하는 대신 숫자와 같은 하나의 배열 변수를 선언하고 숫자[0], 숫자[1], ..., 숫자[99]를 사용하여 표현합니다. 개별 변수. 배열의 특정 요소는 인덱스에 의해 액세스됩니다. 모든 배열은 연속적인 메모리 위치로 구성됩니다. 가장 낮은