삶의 공유

C++ 자료형 bool 본문

Programing/C++

C++ 자료형 bool

dkrehd 2020. 10. 26. 20:48
728x90
반응형

#출저 : 열혈 C++프로그래밍(책)

자료형 bool

- '참'을 의미하는 true와 '거짓을 의미하는 false를 가리켜 bool형 데이터 라고 한다.

C언어에서는 정수 0은 '거짓'을 의미하는 숫자로 false, 0이 아닌 모든 정수는 '참'을 의미함.

C++에서는 키워드 true, false를 정의 하고 있기 때문에 굳이 매크로 상수(1,0)을 사용할 필요는 없다.

 

여기서 주의 사항은 true,false가 1,0을 의미하기는 하나 이게 정수 1,0과는 다르다는 것을 주의해야 한다.

#include <iostream>
using namespace std;

int main(void)
{
    int num = 10;
    int i = 0;

    cout << "true : " << true << endl;
    cout << "false : " << false << endl;

    while(true)
    {
        cout << i++ << ' ';
        if (i > num)
            break;
    }  
    cout << endl;

    cout <<"size of 1 : " << sizeof(1) << endl; // 4 byte
    cout <<"size of 0 : " << sizeof(0) << endl; // 4 byte
    cout <<"size of true : " << sizeof(true) << endl; // 1 byte
    cout <<"size of false : " << sizeof(false) << endl; // 1 byte
}

이위 같이 true는 1이 아니고, false역시 0이 아니다. 이 둘은 '참'과 '거짓'을 표현하기 위한 1바이트 크기의 데이터일 뿐이다.

 

bool은 int, double과 마찬가지로 기본 자료형의 하나이기 때문에 다음과 같이 bool형 변수를 선언하는 것이 가능하다

bool isTrueOne = true;

bool isTrueTwo = false;

 

예제를 통해서 bool형이 어떻게 사용 되는지 보이도록 하겠다.

 

#include <iostream>

using namespace std;

bool IsPositive(int num)
{
    if(num <= 0)
        return false;
    else
        return true;
}

int main(void)
{
    bool isPos;
    int num;
    cout << "Input Number : ";
    cin >> num;

    isPos = IsPositive(num);
    if(isPos)
        cout << "Positive Number" << endl;
    else
        cout << "Negative Number" << endl;
}

 

반응형