1.
size_t = size type(尺寸类型)
sizeof 返回的必定是无符号整型,在标准C中通过typedef将返回值类型定义为size_t.
sizeof,获取操作数占用的内存空间字节数,返回类型size_t.
strlen,获取字符数组实际使用的字节数,不包含数组结尾符’\0’,返回类型size_t。
2.
它是一种“整型”类型,里面保存的是一个整数,就像int, long那样。这种整数用来记录一个大小(size)。size_t 的全称应该是size type,就是说“一种用来记录大小的数据类型”。通常我们用sizeof(XXX)操作,这个操作所得到的结果就是size_t类型。因为size_t类型的数据其实是保存了一个整数,所以它也可以做加减乘除,也可以转化为int并赋值给int类型的变量。
类似的还有wchar_t、 ptrdiff_t。
wchar_t就是wide char type,“一种用来记录一个宽字符的数据类型”。
ptrdiff_t就是pointer difference type,“一种用来记录两个指针之间的距离的数据类型”。
3
size_t是全局定义的类型;size_type是STL类中定义的类型属性,用以保存任意string和vector类对象的长度.
4.
代码
int j ;
size_t size = sizeof(j);
// 用sizeof操作得到变量i的大小,这是一个size_t类型的值// 可以用来对一个size_t类型的变量做初始化.
j = (int)size.
char a = 'b';
wchar_t wc = L'a'; wc保存了宽字符a,占两个字节。注意'a'表示字符a,L'a'表示宽字符a
int arr[] = {1,2,3,4,5};
int *p1 = &arr[0];
int *p2 = &arr[1];
ptrdiff_t diff = p2 - p1;
i = (int )diff;