2011-02-23 57 views
9

u_int32_tuint32_t有什么区别?C中使用的数据类型

+1

后者在C99的头文件'stdint.h'中定义。前者不是。从http://lists.freedesktop.org/archives/release-wranglers/2004-August/000925.html它看起来也许u_表单在BSD Unix中使用?无论如何,你应该在代码中使用'uint32_t'。 – 2011-02-23 12:13:30

+0

@Conrad为什么这是一个评论,而不是一个答案? – 2011-02-23 12:18:46

+0

@Core Xii:* Shrug *。在回应之前,我从来没有听说过u_int32_t,我不是这方面的权威人士。 – 2011-02-23 12:23:49

回答

12

uint32_t是标准C99类型u_int32_t在某些POSIX实现中内部使用。

1

uint32_t是标准C99,而u_int32_t用于某些Unix平台。

0

变量类型uint32_t是根据所谓C99标准定义的无符号32位整数数据类型。并非所有编译器都符合该标准。而u_int32_t用于一些内部实现。

4

正如其他人所说,uint32_t是一个标准的C99类型。

总而言之,如果您正在编写可移植的C代码或C头文件,以便在不同的设备/体系结构之间共享,则可以使用stdint.h。