提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
提示:这里可以添加本文要记录的大概内容:
非0的数据强转为bool类型,都会转为1,这样在某些外部开源解码时,将int 定义为 BOOLEAN_t就能知道如何使用解码后的结果,如,开源的ASN1编解码。
提示:以下是本篇文章正文内容,下面案例可供参考
一、bool类型?
只存在true 1 和 false 0两个值,此外sizeof(bool) = 1;
二、测试步骤
1.测试代码
测试代码如下:
#include <stdio.h>
#include <string.h>
#include <stdbool.h>
int main()
{
int a = 0x01000000;
bool b = (bool) a;
printf("0x01000000 cast type to bool, b = [%u]!\n", b);
a = 0x00000001;
b = (bool) a;
printf("0x00000001 cast type to bool,b = [%u]!\n", b);
a = 0x00000002;
b = (bool) a;
printf("0x00000002 cast type to bool,b = [%u]!\n", b);
a = 0x00000000;
b = (bool) a;
printf("0x00000002 cast type to bool,b = [%u]!\n", b);
int *c = &a;
printf("%p cast type to bool,b = [%u]!\n", &a, (bool)c);
c = NULL;
printf("%p cast type to bool,b = [%u]!\n", &a, (bool)c);
return (0);
}
2.运行结果
总结
以上就是今天要讲的内容,本文仅仅简单介绍了强转bool的使用,而C语言提供了大量能使我们快速便捷地处理数据的函数和方法。