[C++] 배열 Array

chxxrin·2024년 7월 24일
0

C++

목록 보기
4/22

배열

: 동일한 자료형을 가진 여러개의 변수를 하나의 이름으로 묶는 것

    int a = 1;
    int b = 2;
    int c = 3;
    // ...

    // 같은 자료형의 데이터를 저장하기 위해 메모리를 미리 잡아놓은 것
    // [공간의 개수]
    int my_array[3] = {1, 2, 3}; // 초기화할 때는 {} 안에 값 나열

인덱싱 (indexing)

  • 0부터 시작(zero-based)
    cout << my_array[0] << " "
         << my_array[1] << " "
         << my_array[2] << endl; // 추측해보세요
         // 1 2 3

    // 인덱싱으로 하나 짜리 변수 처럼 사용 가능
    my_array[1] = 5; 
    // [1]번째 값이 5로 변경됨. 즉, 2가 5로 변경됨

    cout << my_array[0] << " "
         << my_array[1] << " "
         << my_array[2] << endl; // 추측해보세요
         // 1 5 3

    // cout << my_array[10000] << endl;
    // 너무 큰 숫자를 넣으면 오류가 남!! 우리는 공간 3개만 빌렸는데 10000번째를 불러왔기 때문

문자열 출력과 null문자

    // 문자열은 기본적으로 문자의 배열
    char name[] = "Hello, World!"; // 문자''와 문자열"" 구분
    // 문자열 밴 뒤에 Null character '\0' 이 숨어있음
    // 그래서 총 13글자같지만 사실 총 14글자임
    cout << name << " " << sizeof(name) << endl; // 추측해보세요
    // Hello, World! 14

    name[0] = 'A';
    name[1] = 'B';
    name[2] = 'C';

    cout << name << endl; // 추측해보세요
    // ABClo, World!

    name[2] = '\0'; // 추측해보세요

    cout << name << endl; // 추측해보세요
    // AB
    // 두 글자만 출력되고 멈춤
    // cout이 내부적으로 진행되는 방식은 앞에서부터 출력해나가다가 널문자를 만나면 멈춘다
    // 그래서 여기서는 쭉 진행되다가 name[2]에서 널문자를 만나서 멈추게 되는것

전체코드

/*
    홍정모 연구소 https://honglab.co.kr/
*/

#include <iostream>

using namespace std;

int main()
{
    int a = 1;
    int b = 2;
    int c = 3;
    // ...

    // 같은 자료형의 데이터를 저장하기 위해 메모리를 미리 잡아놓은 것
    // [공간의 개수]
    int my_array[3] = {1, 2, 3}; // 초기화할 때는 {} 안에 값 나열

    // 인덱싱 (zero-based)
    cout << my_array[0] << " "
         << my_array[1] << " "
         << my_array[2] << endl; // 추측해보세요
         // 1 2 3

    // 인덱싱으로 하나 짜리 변수 처럼 사용 가능
    my_array[1] = 5; 
    // [1]번째 값이 5로 변경됨. 즉, 2가 5로 변경됨

    cout << my_array[0] << " "
         << my_array[1] << " "
         << my_array[2] << endl; // 추측해보세요
         // 1 5 3

    // cout << my_array[10000] << endl;
    // 너무 큰 숫자를 넣으면 오류가 남!! 우리는 공간 3개만 빌렸는데 10000번째를 불러왔기 때문

    // 문자열은 기본적으로 문자의 배열
    char name[] = "Hello, World!"; // 문자''와 문자열"" 구분
    // 문자열 밴 뒤에 Null character '\0' 이 숨어있음
    // 그래서 총 13글자같지만 사실 총 14글자임
    cout << name << " " << sizeof(name) << endl; // 추측해보세요
    // Hello, World! 14

    name[0] = 'A';
    name[1] = 'B';
    name[2] = 'C';

    cout << name << endl; // 추측해보세요
    // ABClo, World!

    name[2] = '\0'; // 추측해보세요

    cout << name << endl; // 추측해보세요
    // AB
    // 두 글자만 출력되고 멈춤
    // cout이 내부적으로 진행되는 방식은 앞에서부터 출력해나가다가 널문자를 만나면 멈춘다
    // 그래서 여기서는 쭉 진행되다가 name[2]에서 널문자를 만나서 멈추게 되는것

    return 0;
}

출처 : 홍정모 연구소 https://github.com/HongLabInc/HongLabCppSummary

0개의 댓글

관련 채용 정보