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

C++ 배열

C++ 배열

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

C++에서 배열은 동일한 유형의 여러 값을 저장할 수 있는 변수입니다. 예를 들어,

한 클래스에 27명의 학생이 있고 모든 학생의 성적을 저장해야 한다고 가정합니다. 27개의 개별 변수를 만드는 대신 단순히 배열을 만들 수 있습니다.

double grade[27];

여기, 등급 double의 최대 27개 요소를 포함할 수 있는 배열입니다. 유형.

C++에서는 선언 후에 배열의 크기와 유형을 변경할 수 없습니다.

<시간>

C++ 배열 선언

dataType arrayName[arraySize];

예를 들어,

int x[6];

여기,

<시간>

C++ 배열의 요소 액세스

C++에서 배열의 각 요소는 숫자와 연결됩니다. 숫자는 배열 인덱스로 알려져 있습니다. 이러한 인덱스를 사용하여 배열의 요소에 액세스할 수 있습니다.

// syntax to access array elements
array[index];

x 배열을 고려하십시오. 우리는 위에서 보았습니다.

<그림>

기억해야 할 몇 가지 사항:

<시간>

C++ 배열 초기화

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

// declare and initialize and array
int x[6] = {19, 10, 8, 17, 9, 15};
<그림>

선언 중에 배열을 초기화하는 또 다른 방법:

// declare and initialize an array
int x[] = {19, 10, 8, 17, 9, 15};

여기서 배열의 크기는 언급하지 않았습니다. 이러한 경우 컴파일러는 자동으로 크기를 계산합니다.

<시간>

빈 멤버가 있는 C++ 배열

C++에서 배열의 크기가 n인 경우 , 최대 n개까지 저장할 수 있습니다. 배열의 요소 수. 그러나 n 미만으로 저장하면 어떻게 될까요? 요소 수.

예를 들어,

// store only 3 elements in the array
int x[6] = {19, 10, 8};

여기서 배열 x 크기는 6입니다. . 하지만 3개의 요소만으로 초기화했습니다.

이러한 경우 컴파일러는 나머지 위치에 임의의 값을 할당합니다. 종종 이 임의의 값은 단순히 0입니다. .

<그림> <시간>

배열 요소를 삽입하고 인쇄하는 방법

int mark[5] = {19, 10, 8, 17, 9}

// change 4th element to 9
mark[3] = 9;

// take input from the user
// store the value at third position
cin >> mark[2];


// take input from the user
// insert at ith position
cin >> mark[i-1];

// print first element of the array
cout << mark[0];

// print ith element of the array
cout >> mark[i-1];
<시간>

예제 1:배열 요소 표시

#include <iostream>
using namespace std;

int main() {
    int numbers[5] = {7, 5, 6, 12, 35};

    cout << "The numbers are: ";

    //  Printing array elements
    // using range based for loop
    for (const int &n : numbers) {
        cout << n << "  ";
    }


    cout << "\nThe numbers are: ";

    //  Printing array elements
    // using traditional for loop
    for (int i = 0; i < 5; ++i) {
        cout << numbers[i] << "  ";
    }

    return 0;
}

출력

The numbers are: 7  5  6  12  35
The numbers are: 7  5  6  12  35

여기에서는 for을 사용했습니다. i = 0에서 반복하는 루프 i = 4로 . 각 반복에서 numbers[i]을 인쇄했습니다. .

배열의 요소를 출력하기 위해 루프 기반 범위를 다시 사용했습니다. 이 루프에 대해 자세히 알아보려면 C++ Ranged for Loop를 확인하세요.

참고: 범위 기반 루프에서 const int &n 코드를 사용했습니다. int n 대신 범위 선언으로. 그러나 const int &n 다음과 같은 이유로 더 선호됩니다.

  1. int n 사용 단순히 배열 요소를 변수 n에 복사합니다. 각 반복 동안. 이것은 메모리 효율적이지 않습니다.

    &n 그러나 배열 요소의 메모리 주소를 사용하여 새 변수에 복사하지 않고 데이터에 액세스합니다. 이것은 메모리 효율적입니다.
  2. 배열 요소를 수정하지 않고 단순히 인쇄합니다. 따라서 const을 사용합니다. 실수로 배열의 값을 변경하지 않도록.
<시간>

예제 2:사용자로부터 입력을 받아 어레이에 저장

#include <iostream>
using namespace std;

int main() {
    int numbers[5];

    cout << "Enter 5 numbers: " << endl;

    //  store input from user to array
    for (int i = 0; i < 5; ++i) {
        cin >> numbers[i];
    }

    cout << "The numbers are: ";

    //  print array elements
    for (int n = 0; n < 5; ++n) {
        cout << numbers[n] << "  ";
    }

    return 0;
}

출력

Enter 5 numbers: 
11
12
13
14
15
The numbers are: 11  12  13  14  15

다시 한 번 for을 사용했습니다. i = 0에서 반복하는 루프 i = 4로 . 각 반복에서 사용자로부터 입력을 받아 numbers[i]에 저장했습니다. .

그런 다음 다른 for을 사용했습니다. 모든 배열 요소를 인쇄하는 루프.

<시간>

예제 3:for 루프를 사용하여 배열 요소의 합계 및 평균 표시

#include <iostream>
using namespace std;

int main() {
    
    // initialize an array without specifying size
    double numbers[] = {7, 5, 6, 12, 35, 27};

    double sum = 0;
    double count = 0;
    double average;

    cout << "The numbers are: ";

    //  print array elements
    // use of range-based for loop
    for (const double &n : numbers) {
        cout << n << "  ";

        //  calculate the sum
        sum += n;

        // count the no. of array elements
        ++count;
    }

    // print the sum
    cout << "\nTheir Sum = " << sum << endl;

    // find the average
    average = sum / count;
    cout << "Their Average = " << average << endl;

    return 0;
}

출력

The numbers are: 7  5  6  12  35  27
Their Sum = 92
Their Average = 15.3333

이 프로그램에서:

  1. 이중을 초기화했습니다. 숫자라는 이름의 배열 그러나 크기를 지정하지 않고. 또한 세 개의 이중 변수 sum을 선언했습니다. , 개수 , 및 평균 .

    여기, sum =0count = 0 .
  2. 그런 다음 범위 기반 for을 사용했습니다. 루프를 사용하여 배열 요소를 인쇄합니다. 루프의 각 반복에서 현재 배열 요소를 sum에 추가합니다. .
  3. count 값도 증가 1 기준 각 반복에서 for 루프가 끝날 때까지 배열의 크기를 얻을 수 있습니다.
  4. 모든 요소를 ​​출력한 후 모든 숫자의 합과 평균을 출력합니다. 숫자의 평균은 average = sum / count;로 표시됩니다.

참고: 우리는 for 범위를 사용했습니다. 일반 for 대신 루프 루프.

일반 for 루프를 사용하려면 배열 크기에 따라 반복 횟수를 지정해야 합니다.

그러나 범위가 지정된 for 루프에는 이러한 사양이 필요하지 않습니다.

<시간>

C++ 배열이 범위를 벗어남

크기가 10인 배열을 선언하면 배열에는 인덱스 0에서 9까지의 요소가 포함됩니다.

그러나 인덱스 10 또는 10보다 큰 요소에 액세스하려고 하면 정의되지 않은 동작이 발생합니다.


C 언어

  1. C# 배열
  2. C# 다차원 배열
  3. C# 들쭉날쭉한 배열
  4. C++ 연산자
  5. C++ 주석
  6. C++ 프로그래밍에서 함수에 배열 전달
  7. 자바 복사 배열
  8. C++의 배열 | 선언 | 초기화 | 배열 예제에 대한 포인터
  9. 예제를 사용한 C++ 배열 동적 할당
  10. MATLAB - 배열