size _t 為了增強程序的可移植性,便有了size_t ,不同系統上,定義size_t可能不一樣。
經測試發現,在32位系統中size_t是4字節的,在64位系統中,size_t是8字節的,這樣利用該類型可以增加程序移植性。
size_t的定義
它的定義在/usr/include/linux/types.h
typedef _kernel_size_t size_t;
跟體系結構相關
而__kernel_size_t 定義在 /usr/include/asm/posix_types.h
安裝的是內核的源碼
asm-i386/posix_types.h
typedef unsigned int __kernel_size_t;
asm-1a64/posix_types.h
typedef unsigned long kernel_size_t;
size_t一般用來表示一種計數,比如有多少東西被拷貝等。例如:sizeof操作符的結果類型是size_t,該類型保證能容納實現所建立的最大對象的字節大小。 它的意義大致是“適於計量內存中可容納的數據項目個數的無符號整數類型”。所以,它在數組下標和內存管理函數之類的地方廣泛使用。