不同整数类型之间的差异
我想知道uint32_t
和uint32
什么区别,当我查看头文件时它有这个:
types.h: /** @brief 32-bit unsigned integer. */ typedef unsigned int uint32; stdint.h: typedef unsigned uint32_t;
这只会带来更多问题:有什么区别
unsigned varName;
和
unsigned int varName;
?
我正在使用MinGW.
unsigned
和unsigned int
是同义词,非常类似于unsigned short [int]
和unsigned long [int]
。
uint32_t
是由C标准定义的(可选)类型。 uint32
只是一个你组成的名字,虽然它恰好被定义为同一个东西。
没有区别。
unsigned int = uint32 = uint32_t = unsigned
在你的情况下是unsigned int = unsigned
而unsigned int = unsigned
always
unsigned
和unsigned int
之间没有任何区别。
该类型是否与uint32_t
匹配良好但是依赖于实现; int
可以比32位“更短”。
unsigned
和unsigned int
是历史原因的同义词; 它们都意味着“CPU架构/平台最自然大小的无符号整数”,这在现代平台上通常(但绝不总是)32位。
是C99中的标准头,它应该使用uint32_t
命名约定为特定大小的整数提供类型定义。
您正在查看的
似乎是非标准的,可能属于您的项目正在使用的某个框架。 它的uint32
typedef与uint32_t
兼容。 您是否应该在代码中使用其中一个是您的经理的问题。