C언어(2020년)

20. bool 자료형

리더2333 2020. 11. 3. 22:49
반응형

C 언어는 bool 자료형이 없었다.

 

그래서

typedef enum {false, true} bool;

이렇게 정의해서 쓰거나

#define FALSE 0
#define TRUE 1

이렇게 정의 해서 썼다고 한다.

 

시간이 흘러 C++이 나왔고 C++에서는 bool 자료형과 true, false 값을 지원하였다.

 

그리고 결국 C 언어에서도 불 자료형의 필요성에 계속 제기되면서

C99표준부터는 stdbool.h 헤더파일이 추가되었고,

여기에서 bool 변수가 추가 되었다.

//
// stdbool.h
//
//      Copyright (c) Microsoft Corporation. All rights reserved.
//
// The C Standard Library <stdbool.h> header.
//
#ifndef _STDBOOL
#define _STDBOOL

#define __bool_true_false_are_defined 1

#ifndef __cplusplus

#define bool  _Bool
#define false 0
#define true  1

#endif /* __cplusplus */

#endif /* _STDBOOL */

sizeof(bool) 로 값을 알아보니 bool 변수는 1byte 이다.

반응형