산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Industrial programming >> C 언어

C 배열

C 배열

이 튜토리얼에서는 배열로 작업하는 방법을 배웁니다. 예제를 통해 배열의 요소를 선언, 초기화 및 액세스하는 방법을 배웁니다.

<그림>

배열은 여러 값을 저장할 수 있는 변수입니다. 예를 들어, 100개의 정수를 저장하려는 경우 해당 배열을 만들 수 있습니다.

int data[100]; 
<시간>

배열을 선언하는 방법

dataType arrayName[arraySize];

예:

float mark[5];

여기에서 mark 배열을 선언했습니다. , 부동 소수점 유형. 크기는 5입니다. 즉, 5개의 부동 소수점 값을 저장할 수 있습니다.

일단 선언되면 배열의 크기와 유형을 변경할 수 없다는 점에 유의해야 합니다.

<시간>

배열 요소 액세스

인덱스로 배열의 요소에 액세스할 수 있습니다.

배열 mark를 선언했다고 가정합니다. 위와 같이. 첫 번째 요소는 mark[0]입니다. , 두 번째 요소는 mark[1]입니다. 등등.

<그림>

약간의 기조 연설 :

<시간>

배열을 초기화하는 방법은 무엇입니까?

선언 중에 배열을 초기화할 수 있습니다. 예를 들어,

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]);
<시간>

예시 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을 사용하여 루프에서 이러한 요소가 화면에 표시됩니다.

<시간>

예시 2:평균 계산

// 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 언어

  1. C# 배열
  2. C# 들쭉날쭉한 배열
  3. C++ 프로그래밍에서 함수에 배열 전달
  4. C의 함수에 배열 전달
  5. 배열과 포인터의 관계
  6. 자바 복사 배열
  7. C++의 배열 | 선언 | 초기화 | 배열 예제에 대한 포인터
  8. 예제를 사용한 C++ 배열 동적 할당
  9. Java Arrays Tutorial:선언, 생성, 초기화 [예시]
  10. MATLAB - 배열