2011-02-23 43 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。