본문으로 바로가기
728x90
반응형

 BOOL 타입은 참(TRUE)와 거짓(FALSE)의 두가지 상태를 가지는 변수 타입이다. 사실 간단한 프로그램에서는 굳이 참, 거짓을 판별할 필요도 없이 '0'이면 거짓이고 나머지는 참 이라고 생각하면 되기 때문에 아쉽지 않은 자료형이다. 그러다 보니 BOOL 같은 경우 가독성을 높여주는 정도로만 생각하기 쉬운데 때때로 이 자료형을 사용함으로써 코딩이 매우 간결해 지는 경우가 있어서 알아둘 필요가 있다.

 내가 개인적으로 BOOL 타입을 사용하는 경우는 통신에서 프로토콜을 판별할 때 가장 많이 사용한다. 어떤 바이트가 비트 단위로 정보를 가지고 들어올 때 각 비트 상태를 비트 연산을 해서 다시 재처리 하는 경우이다.

 여튼 사용하는 방법은 BOOL 타입을 정의해서 사용하는 방법과 만들어져 있는 헤더를 사용하는 방법이다.

 1. BOOL 타입을 정의

 #define FALSE 0

 #define TRUE 1

 이렇게 정의해서 FALSE와 TRUE를 정의해서 사용하는게 가장 간단하지만 이건 자료형이라고 하긴 좀 그렇고....

 type enum {false, true} bool;

 이렇게 정의해서 사용하는게 정석이다. 그래야 bool 자료형으로 사용이 가능하다.

2. stdbool.h를 include한다.

 C99 표준에서 stdbool.h가 정의되어 있다. 아마도 지금 이글을 읽으시는 분들이 사용하시는 프로그램에는 저 헤더가 있을 것입니다. 그냥 정의해서 사용하면 됩니다. 

 

728x90
반응형

'프로그램 이야기 > C언어' 카테고리의 다른 글

[C언어] 배열 함수 인자로 사용하기  (0) 2020.03.20