c bool자료형

떵떵·2022년 6월 7일
0

c언어에서 거짓은 0으로 참은 0이아닌 숫자로 표현하였지만

<stdbool.h>을 사용하면 true를 참으로 false를 거짓으로 사용할 수 있다.

stdbool.h

<stdbool.h> 안에는 bool자료형, true, false가 정의되어 있다.

#include <stdio.h>
#include <stdbool.h>
int main()
{
	bool b1 = true;
    
    if (b1 == true)
        printf("참\n");
    else 
    	printf("거짓\n");
}

<stdbool.h>을 호출하면 위 예제처럼 bool이라는 자료형을 선언할 수 있고 값에 true, false를 할당할 수 있다.

이를 if문 조건식에서 bool자료형 변수가 true인지 false인지로 참과 거짓을 판단할 수 있다.

bool자료형의 크기

bool자료형도 크기를 가지고 있다.

int main()
{
	int num1;
    bool bol1;
    
    printf("int크기: %d\n", sizeof(num1));
    printf("bool크기: %d\n", sizeof(bol1));
}
>>> 4
>>> 1

int형 0, 0이외의 숫자로 참과 거짓을 구분할 때는 4바이트가 들었다면

bool 자료형을 활용한다면 1바이트로 판단할 수 있다.

bool자료형의 서식지정자

bool형은 서식지정자가 따로 없기 때문에 출력 할 때 %d를 사용하여야 한다.

int main()
{
	printf("%d\n", true && true);
    printf("%d\n", false && true);
    
    printf("%d\n", true || false);
    printf("%d\n", false || false);
}
>>> 1
>>> 0
>>> 1
>>> 0

bool- ture, false 문자열로 출력하기

int main()
{
	bool b1 = true;
    bool b2 = false;
    
    printf( b1 ? "true" : "false");
    printf( b2 ? "true" : "false");
}
>>> ture
>>> false

printf에서 삼항연산자로 문자열을 출력할때 %s 서식지정자가 없이 출력할 수 있고
%s 서식지정자를 사용하여 출력해도 된다.

삼항연산자는 조건식뿐만 아니라 참, 거짓값으로도 판단할 수 있으므로 불 값 들어있는 변수 그대로 사용하면 된다.

0개의 댓글