关于size_t
2018-11-06 本文已影响13人
芒鞋儿
size_t 概括地说,就是unsigned integer 跨平台的形式。
size_t 常用在内存分配,类型拷贝类的函数。例如:memcpy, strlen, malloc等函数中;
void *malloc(size_t n);
void *memcpy(void *s1, void const *s2, size_t n);
size_t strlen(char const *s);
当表示内存空间大小的时候,普通int不能用,因为int带符号,而unsigned int 在不同平台上定义不同,如果扩展为unsigned long 等类型又会降低程序的执行效率,因而产生了size_t
除此以外, sizeof(para)的返回值也是size_t 类型。
类似的,还有 wchar_t, ptrdiff_t 类型
wchar_t 是宽字符的数据类型
ptrdiff_t 则是记录两个指针之间距离的数据类型
其他:
uint8_t, uint_16_t, uint32_t, uint64_t, 这些则是typedef定义的类型
uint8_t: unsigned char
uint16_t: unsigned short int
uint32_t: unsigned int
uint64_t: unsigned long
参考文章:
https://blog.csdn.net/huilingwu/article/details/51326015
https://blog.csdn.net/bzhxuexi/article/details/19899803
https://blog.csdn.net/yuanfangyuan_block/article/details/80421881