size_t类型的含义
size_t一个基本的无符号整数的C/C++类型,它的全称是size type,就是一种用来记录大小的数据类型,也是sizeof操作符返回的结果类型。size_t是在基于无符号整数memsize类型的C/C++的标准库中定义的。C语言中,此类型位于头文件stddef.h中,而在C++中,则位于cstddef.h中:
#ifndef _SIZE_T_DEFINED
#ifdef _WIN64
typedef unsigned __int64 size_t;
#else /* _WIN64 */
typedef _W64 unsigned int size_t;
#endif /* _WIN64 */
#define _SIZE_T_DEFINED
#endif /* _SIZE_T_DEFINED */
了解了它的意义,下面我们用一段代码对它的大小进行测试:
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main()
{
size_t a = 0;
printf("%d\n", sizeof(a));
system("pause");
return 0;
}
由此可见size_t在64位机器的VS编译环境下是一个unsigned int数据类型,占4个字节。