**Autonomous driving tech./*C++

[C++] 03_문자형 자료형과 bool형 자료형

2wnswoo 2024. 9. 11. 08:14

1. 작은 따옴표 사용

  - 작은 따옴표로 한 글자씩 입력

2. 큰 따옴표 사용

  - 큰 따옴표로 한꺼번에 입력

  - 배열 크기 = [ 문자개수 +1개 (NULL 문자 위치) ] 를 입력하게됨 ( 큰 따옴표로 묶게 된다면 '/0' (널값) 을 포함한다. )

 

char을 나타내는 방법

방법 1
방법 2

방법2와 같이 하게 되면 문자열 끝에 NULL 문자가 자동으로 들어간다.

C++ 규칙에 따라 문자열 마지막에는 NULL문자( =  '\0'  )가 있어야 된다는 것을 기억하자.

 

// char prac[3] = {'L','E','E'}  // 오류 발생, 이유: NULL문자를 넣을 공간이 없으므로

// char prac[4] = {'L','E','E}   // 정상 코드

 

그렇다면 아래는 어떨까?

결과값

LEE 문자 이후에도 이상한 문자가 붙었다.

이유는 NULL문자를 삽입 해주지 않아 의미없는 메모리가 계속 돌아가서 우연히 NULL문자를 만나 끝났기 때문이다.

C++ 문자형과 아스키코드와의 관계

변수 a에다 77을 대입하고 문자형 b에다 이를 대입하게 되면

결과값은 'M'이 나오게 된다.

C++ 은 아스키코드를 사용하는데, 문자(a,b,c..)는 대응되는 숫자가 있다.

#include <iostream>
#include <climits>
using namespace std;
int main() {
    // char : 작은 문자형
    char a = 77;
    // null 문자 '\0'

    char b[] = {'a', 'b', 'c','\0'};
    cout << a << endl;

    return 0;
}

 

bool 형

#include <iostream>

using namespace std;

int main() {
    //bool타입은 0 혹은 1만 저장

    bool  a = 0;
    bool  b = 1;
    bool  c = 10;

    cout << a << b << c << endl;
    return 0;
}

 

bool형은 0 이외의 모든 값은 1로 저장한다.

 

이 글은 티스토리 'C++ 물꼮이'님의 글과 인프런 C++ 강의'의 일부를 정리한 내용입니다.