【发布时间】:2012-11-16 09:13:02
【问题描述】:
假设您使用的是支持 C99(甚至只是 stdint.h)的编译器,是否有理由不使用 uint8_t 等固定宽度整数类型?
我知道的一个原因是在处理字符时使用chars 比使用(u)int8_ts 更有意义,正如this question 中提到的那样。
但是如果你打算存储一个数字,你什么时候想使用一个你不知道它有多大的类型呢? IE。在什么情况下,您希望将一个数字存储在 unsigned short 中而不知道它是 8 位、16 位还是 32 位,而不是使用 uint16t?
从这里开始,使用固定宽度整数或使用普通整数类型并且从不假设任何内容并在需要知道它们使用多少字节的任何地方使用sizeof 是否被认为是更好的做法?
【问题讨论】: