基础知识练习
——菜根谭
学生:我一般都用typedef定义int 16 和int 32。然后根据实际的机器环境把他们定义维int,short,long等类型。这这样是不是所有的问题都可以解决?
小编:因为C语言没有精确定义类型的大小,所有如果真的需要精确控制类型大小,按照你说的确实可以,但是也有几点需要注意。
1、在某些机器上可能没有严格的对应关系。
2、如果定义int 16和int 32只是为了表明“至少”这么长,则没有任何意义。
3、typedef定义对于字节顺序问题不能提供任何帮助。
4、标准头文件<inttypes.h>已经定义了标准类型名称int 16_t和uint32_t等。