size_t和int

size_t和int

size_t是一些C/C++標準在stddef.h中定義的。這個類型足以用來表示對象的大小。size_t的真實類型與操做系統有關。
在32位架構中被廣泛定義爲:數組

typedef   unsigned int size_t;

而在64位架構中被定義爲:架構

typedef  unsigned long size_t;

size_t在32位架構上是4字節,在64位架構上是8字節,在不一樣架構上進行編譯時須要注意這個問題。而int在不一樣架構下都是4字節,與size_t不一樣;且int爲帶符號數,size_t爲無符號數。ide

ssize_t

ssize_t是有符號整型,在32位機器上等同與int,在64位機器上等同與long int.函數

size_t和ssize_t做用

size_t通常用來表示一種計數,好比有多少東西被拷貝等。例如:sizeof操做符的結果類型是size_t,該類型保證能容納實現所創建的最大對象的字節大小。 它的意義大體是「適於計量內存中可容納的數據項目個數的無符號整數類型」。因此,它在數組下標和內存管理函數之類的地方普遍使用。
而ssize_t這個數據類型用來表示能夠被執行讀寫操做的數據塊的大小.它和size_t相似,但必需是signed.意即:它表示的是signed size_t類型的。
轉處來源操作系統

相關文章
相關標籤/搜索