不同整数类型之间的差异

我想知道uint32_tuint32什么区别,当我查看头文件时它有这个:

 types.h: /** @brief 32-bit unsigned integer. */ typedef unsigned int uint32; stdint.h: typedef unsigned uint32_t; 

这只会带来更多问题:有什么区别

 unsigned varName; 

 unsigned int varName; 

我正在使用MinGW.

unsignedunsigned int是同义词,非常类似于unsigned short [int]unsigned long [int]

uint32_t是由C标准定义的(可选)类型。 uint32只是一个你组成的名字,虽然它恰好被定义为同一个东西。

没有区别。

unsigned int = uint32 = uint32_t = unsigned在你的情况下是unsigned int = unsignedunsigned int = unsigned always

unsignedunsigned int之间没有任何区别。

该类型是否与uint32_t匹配良好但是依赖于实现; int可以比32位“更短”。

unsignedunsigned int是历史原因的同义词; 它们都意味着“CPU架构/平台最自然大小的无符号整数”,这在现代平台上通常(但绝不总是)32位。

是C99中的标准头,它应该使用uint32_t命名约定为特定大小的整数提供类型定义。

您正在查看的似乎是非标准的,可能属于您的项目正在使用的某个框架。 它的uint32 typedef与uint32_t兼容。 您是否应该在代码中使用其中一个是您的经理的问题。