C size_t

C size_t

根據Wiki - C data typessize_t定義於C的stddef.h(或定義於C++的cstddef.h這個header檔中)。

查看gcc/gcc/ginclude/stddef.h

#ifndef __SIZE_TYPE__
#define __SIZE_TYPE__ long unsigned int
#endif
#if !(defined (__GNUG__) && defined (size_t))
typedef __SIZE_TYPE__ size_t;

我們可以發現size_t實際上就是long unsigned int

參考About size_t and ptrdiff_tsize_t型別在不同作業系統上的大小為:

On a 32-bit system size_t will take 32 bits, on a 64-bit one 64 bits.

在32-bit系統上佔4 bytes,在64-bit系統上佔8 bytes。

對於64-bit系統來說,上述說法與stddef.h是吻合的。(那32-bit系統呢?)

參考連結

Where do I find the definition of size_t? [duplicate]

gcc/gcc/ginclude/stddef.h

std::size_t

Wiki - C data types

About size_t and ptrdiff_t

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章