C언어

[C언어] 불리언 타입이란?(boolean, bool type)

코딩 메모장 2024. 10. 7. 22:40
728x90

C 언어에서 bool 타입은 C99 표준에서 도입된 <stdbool.h> 헤더 파일을 통해 제공됩니다. 이 헤더 파일은 bool 타입과 true, false 값을 정의하여, Boolean 값을 보다 직관적으로 다룰 수 있게 해줍니다.

 

1. <stdbool.h> 헤더 포함

Boolean 타입을 사용하려면 <stdbool.h> 헤더 파일을 포함해야 합니다.

#include <stdbool.h>

 

2. 선언

Boolean 변수를 다음과 같이 선언할 수 있습니다.

bool isTrue = true;
bool isFalse = false;

 

  • true는 1과 동일
  • false는 0과 동일

3. 조건문에서 사용

Boolean 값은 조건문에서 직접 사용할 수 있습니다.

if (isTrue) {
    // isTrue가 true(1)이면 이 코드가 실행됨
}

if (!isFalse) {
    // isFalse가 false(0)이므로 이 코드가 실행됨
}

 

 

4. 타입 안전성

이전 C 코드에서는 종종 정수(int)를 사용하여 Boolean 값을 표현했습니다. 예를 들어, 0은 false, 0이 아닌 값은 true로 취급했습니다. 하지만 bool 타입을 사용하면 코드가 더 가독성이 높아지고 의도를 명확히 전달할 수 있습니다.

 

int flag = 1;    // 옛날 방식
bool flag = true; // 새로운 방식, 더 명확함

 

5. 정수와의 비교

Boolean 값은 여전히 정수와 비교할 수 있습니다. true는 1, false는 0으로 처리되지만, 가독성을 위해 Boolean과 정수를 혼용하는 것은 피하는 것이 좋습니다.

사용 예

#include <stdio.h>
#include <stdbool.h>

int main() {
    bool isEven = false;
    int number = 4;

    if (number % 2 == 0) {
        isEven = true;
    }

    if (isEven) {
        printf("이 숫자는 짝수입니다.\n");
    } else {
        printf("이 숫자는 홀수입니다.\n");
    }

    return 0;
}

 

이렇게 하면 코드를 더 읽기 쉽고 의미를 명확하게 표현할 수 있습니다.

C 언어에서 bool 타입을 사용하면 true와 false를 보다 직관적으로 표현할 수 있어 코드 가독성이 크게 향상됩니다. 또한, 의도를 명확하게 전달할 수 있어 협업 시 코드 이해도를 높이는 데 도움이 됩니다. 기존에 정수를 사용하여 Boolean 값을 표현하던 방식보다, bool 타입을 사용하는 것이 더 안전하고 권장됩니다.

728x90