首页 > 编程知识 正文

c99编译设置,C99编译器

时间:2023-05-04 20:49:01 阅读:178718 作者:1239

C编译器、独立于环境的整数型(c99规格) c语言标准只规定了各整数型的最小范围,没有表示具体的值。

这可能会导致数据类型范围的所有假设意外错误。

因此,c99给出了一系列确定长度的整数类型,如下所示:

这些类型的宏在头文件stdint.h中定义

这些类型的输入和输出格式的宏定义位于头文件inttypes.h中

一. stdint.h

定义以下类型: int有符号,uint无符号,_t前的数字表示类型占用内存的位数。 例如,int16_t表示16位有符号整数。 (char实际上也是整数型,在不同的编译器实现中,char有对应于int8_t的,也有对应于uint8_t的)

int8_ tint 16 _ tint 32 _ tint 64 _ tuint8_ tuint 16 _ tuint 32 _ tuint 64 _ t定义以下宏,具体是什么意思如其名。

INTN_MIN、UINTN_MIN、INTN_MAX、UINTN_MAX; INT_LEASEN_MIN,INT_LEASEN_MAX; INT_FASTN_MIN,INT_FASTN_MAX; 二. inttypes.h中

(以下,以64位的有符号数为例,其他类型按此类推)

1 .符合gcc标准的系统,例如debian的gcc:

在头文件中,宏定义如下

# define prid 64 ' lld ' # defines CND 64 ' lld '的使用示例如下所示

#include stdint.hint64_t a; # include inttypes.hscanf (“%”scnd 64,a ); printf('%'prid64,a ); printf('%'prid64'n ',a ); 2 .从VC或windows移植的gcc

在头文件中,宏定义如下

# define prid 64 ' i64d ' # defines CND 64 ' i64d '的使用示例如下所示

#include stdint.hint64_t a; # include inttypes.hscanf (“%”scnd 64,a ); printf('%'prid64,a ); printf('%'prid64'n ',a ); ps:对于c语言来说“helloworld”、“hello”、“world”和“helloworld”是等效的,是理解上述宏所必需的。

ps :真正的头文件宏的定义比这个复杂多了。 我这样写是很简单的版本。 为了容易理解。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。