C语言复习(四)

_Bool类型

c99标准添加了 _Bool 类型,用于表示布尔值(true 和 false)。因为 C 语言用值 1 表示 true,值 0 表示 false,所以 _Bool
类型实际上也是一种整数类型

可移植类型: stdint.h和 inttypes.h

c99提供了两个头文件 stdint.h 和 inttypes.h 以确保 C语言的类型在各系统中的功能相同。

C语言为现有类型创建了很多类型名。

  1. 精确宽度整数类型 int32_t
  2. 最小宽度类型 int_least8_t
  3. 最快的类型 int_fast8_t
  4. 最大的有符号整数类型 intmax_t

printf() 打印特定类型时要求与相应的转换说明匹配。

1
2
3
4
5
6
7
8
9
10
11
#include <stdio.h>
#include <inttypes.h> //支持可移植整数类型名
int main(void)
{
int32_t me32; //me32是一个32位有符号整型变量
me32=45933945;
printf("%d \n",me32);
printf("%" PRId32"",me32); //PRId32字符串宏
getchar();
return 0;
}

printf(“%” PRId32””,me32);
等价于 printf(“%”d””,me32);

c99/c11 的支持中,一些编译器任未实现 inttypes.h 头文件及其相关功能

扩展整数类型stdint.h和inttypes.h