728x90
반응형
stdbool.h
지난번에 반복문을 소개할 때 반복문의 조건식에서 true와 false를 사용할 수 없다고 했었다.
C언어에서는 기본적으로 bool 자료형을 지원하지 않기 때문이다.
그러나 bool 자료형의 정의를 포함하고 있는 stdbool.h 헤더 파일을 통해서라면 bool 자료형을 사용할 수 있다.
bool 자료형을 사용하여 "Hello World!"를 무한 번 출력하는 예시 코드를 작성해보겠다.
#include <stdio.h>
#include <stdbool.h>
int main ()
{
while (true)
printf("Hello World!\n");
return 0;
}
bool 형 변수
bool 자료형도 변수이기 때문에 bool 형 변수를 선언하고 그 값을 저장할 수 있다.
#include <stdio.h>
#include <stdbool.h>
int main()
{
bool tr = true;
bool fal = false;
while (fal)
printf("Not Hello\n");
while (tr)
printf("Hello World\n");
return 0;
}
위 코드에서 while (fal) 내부의 코드는 실행되지 않기때문에 'Hello World'를 무한 번 출력하게 된다.
bool 자료형
bool 자료형에 대해서 더 알아보기 위해 코드를 하나 작성해보겠다.
#include <stdio.h>
#include <stdbool.h>
int main()
{
bool tr = true;
bool fal = false;
printf("%d\n", sizeof(tr));
printf("%d %d\n", tr, fal);
printf("%c %c\n", tr, fal);
return 0;
}
위 코드에서 알 수 있듯이 sizeof 함수를 사용하여 bool 형 변수의 크기는 1바이트인 것을 알 수 있다.
반복문을 소개할 때 false는 0, true는 통상적으로 1로 표시된다고 하였다.
따라서 bool 형 변수를 10진수 정수형으로 출력해보면 false는 0, true는 1로 출력된다.
bool 형 변수를 문자로 출력해보면 true는 'r' 이 출력되고 false는 Null, 즉 아무것도 출력되지 않았다.
728x90
반응형
'C언어 > C언어 문법' 카테고리의 다른 글
[C언어] break, continue (0) | 2024.02.10 |
---|---|
[C언어] 조건문 (if문, else if문) (0) | 2024.02.09 |
[C언어] 반복문 (do while문) (0) | 2024.02.08 |
[C언어] 반복문 (for문, while문) (0) | 2024.02.08 |
[C언어] 아스키 코드(ASCII CODE), 널(Null)과 0의 차이 (0) | 2024.02.08 |