C size_t

C size_t

  • 參考連結

根據Wiki - C data types,size_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_t,size_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

你可能感兴趣的:(C語言,c语言)