Type bool
원래 C에서는 bool type은 없었다. ( C99 이전 )
하지만 C도 이제 bool type이 필요하다고 생각한 것인지 드디어 bool type이 등장했다.
1. bool 이 아닌이유
C99 이전에도 사람들은 bool이 필요했다.
그래서 보통은 define 명령어를 이용해 사용자 정의로 bool을 사용하고 했다.
이런식으로,
typedef int bool
#define false 0
#define true 1
bool b;
b = true;
따라서 C99에서 bool type을 적용시킬 때 문제가 발생하게 된다.
C99에서 bool 타입을 추가하려고 하니 기존에 사람들이 사용하던 저 코드들이 문제가 되는 것이다!
2. 그래서 선택한 방법
그리하여 우리의 C00는 _Bool 이라는 type을 만들어내게 된다.
즉, C에서는 _Bool 키워드를 사용해서 bool value를 만들어 낼 수 있다.
_Bool은 stdbool.h에 아래와 같이 정의 되어있다.
stdbool.h
typedef _Bool bool;
#define true (_Bool)1
#define false (_Bool)0
3. 습관이란 무서운 법
그래도 우리는 bool이 편하다, 보기에도 _Bool 보단 bool 이 뭔가 더 친근하다.
그렇다면 bool로 type 선언을 할 수 없을까?
가능하다! stdbool.h 헤더파일을 include 시켜준다면 _Bool 이 아닌 bool 키워드로 bool type value를 생성 할 수 있다.
#include <stdbool.h>
bool a = true;
#2018년09월06일
'개발자 레니는 지금 - > 소프트웨어와 함께' 카테고리의 다른 글
[ Python ] 메소드 리스트, 딕셔너리 만들어 사용하기 (0) | 2018.10.17 |
---|---|
[ Module ] Struct, c 구조체 호환 (0) | 2018.09.10 |
[ MODULE ] audioop:: pcm data 모노, 스테레오 정보 바꾸기 (0) | 2018.07.16 |
[ BASIC ] 발생자 제네레이터 (0) | 2018.07.16 |
[ BASIC ] 반복자 이터레이터 (0) | 2018.07.16 |