코딩/C++

[C++] 배열

Hun die 2022. 4. 13. 15:50
배열

 

같은 데이터타입의 여러 변수를 하나의 묶음으로 나타낸 것이다.

배열의 데이터타입에 대한 동일한 크기로 메모리 상에 연속된 공간이 할당된다.

배열명은 메모리 시작 주소이다.

 

ex)  int a = 4byte 할당
      int a[10] = 4byte 할당

 

 

2차원 배열 및 다차원배열

 

배열이 (개념적으로) 2중 혹은 다중으로 구성되어 있는 것.

개념적으로 배열되어 있기에 실제론 1차원이다.

1차원 배열 : int Student_Names[5];  // 5개의 int
        -> 5명의 학생이 있다.

2차원 배열 : int Student_Names[3][5];  // 15개의 int
        -> 3개 반에 각각 5명의 학생이 있다.

3차원 배열 : int Student_Names[4][3][5]  // 60개의 int
        -> 4개 학년에 각각 3개 반이 있고, 각 반에 5명의 학생이 있다.

 

연습 1

string형 배열변수 5개 짜리를 선언하고 반복문을 통해 학생의 이름을 입력 받는다.
입력을 다 받고나서 1~5 사이의 값을 입력하면 해당 학생의 이름이 출력된다.

 

코드

    string num[5];
    int choice;

    for (int i = 0; i < 5; i++)
    {
        cout << i+1 << "번째 학생의 이름을 입력하세요 : ";
        cin >> num[i];
    }
    cout <<"1 ~ 5 사이의 번호를 입력하세요 : ";
    cin >> choice;
    if (choice >= 1 && choice <= 5)
    {
        cout << choice << "번째 학생의 이름은 " << num[choice - 1] << "입니다.";
    }
    else
    {
        cout << "잘못된 입력입니다.";
    }

 

결과

 

 

연습 2

구구단의 결과를 저장하는 2차원 배열을 하나 선언
이중 for문을 이용해서 배열 변수에 결과값을 저장
두 수를 입력받아서 적합한 결과값을 출력해보자.

 

코드

    int c1;
    int c2;
    int num[8][9];
    
    for (int i = 0; i < 8; i++)
    { 
        for (int j = 0; j < 9; j++)
        {
            num[i][j]= (i + 2) * (j + 1);
        }
    }
    cout << "앞 숫자[2 ~ 9] : ";
    cin >> c1;
    cout << "뒷 숫자[1 ~ 9] : ";
    cin >> c2;

    cout << c1 << "*" << c2 << "=" << num[c1 - 2][c2 - 1];​

결과

 

 

 

 

 

'코딩 > C++' 카테고리의 다른 글

[C++] 구조체  (0) 2022.04.18
[C++] 키 인식  (0) 2022.04.13
[C++] 제어문  (0) 2022.04.12
[C++] 난수 생성  (0) 2022.04.11
[C++]연산자  (0) 2022.04.07