size_t/ptrdiff_t/intptr_t/uintptr_t
2017-08-22 16:04
405 查看
size_t/ptrdiff_t/intptr_t/uintptr_t
1.size_tsize_t是无符号整数类型,这是sizeof操作符结果的类型。如果设备的地址空间为32位,这就是一个32位无符号整数;如果设备的地址空间是64位,这就是一个64位无符号整数。换而言之,一个size_t类型的变量能够安全保存一个指针(唯一的例外是指向类函数的指针)。size_t通常用于loop计数器,数组索引和地址算数。
2.ptrdiff_t
ptrdiff_t是有符号整数类型,这是两个指针相减结果的类型。如果设备的地址空间为32位,这就是一个32位有符号整数;如果设备的地址空间是64位,这就是一个64位有符号整数。与size_t一样,ptrdiff_t能安全存储除类函数指针外的指针。
size_t和ptr_diff的大小总是和指针的大小一致,因此适合用来索引大数组、存储指针以及指针运算等。
3.intptr_t
有符号整数类型,它有一个性质,任何指向void的合法指针都可以转化为这个类型,然后还可以再转换回指向void的指针,其结果与原指针比较是相等的。
4.uintptr_t
无符号整数类型,它有一个性质,任何指向void的合法指针都可以转化为这个类型,然后还可以再转换回指向void的指针,其结果与原指针比较是相等的。
相关文章推荐
- size_t/ptrdiff_t/intptr_t/uintptr_t
- 关于 size_t , uintptr_t , intptr_t, int
- size_t和ptrdiff_t
- size_type、size_t、different_type以及ptrdiff_t
- size_type、size_t、different_type以及ptrdiff_t
- size_t,wchar_t, ptrdiff_t数据类型详解
- size_t、ptrdiff_t【转】
- 关于size_t, ptrdiff_t, size_type, difference_type
- 关于整型Integer、Int32、Int64、IntPtr、UINT、UInt32、Cardinal、UInt64、UIntPtr、NativeUInt、Pointer、Handle
- size_type、size_t、differentce_type以及ptrdiff_t
- 关于size_t, ptrdiff_t, size_type, difference_type
- size_t & ptrdiff_t
- 关于size_t, ptrdiff_t, size_type, difference_type
- STL__size_t, ptrdiff_t, size_type, difference_type
- size_t,size_type,ptrdiff_t的区别
- 关于size_t, ptrdiff_t, size_type, difference_type
- 使用intptr_t和uintptr_t
- size_t, ptrdiff_t, size_type, difference_type
- C语言内建数据类型size_t 和 ptrdiff_t
- size_t与ptrdiff_t