本文主要是介绍ptrdiff_t 类型定义,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1简介
ptrdiff_t是C/C++标准库中定义的一个与机器相关的数据类型。ptrdiff_t类型变量通常用来保存两个指针减法操作的结果。ptrdiff_t定义在stddef.h(cstddef)这个文件内。ptrdiff_t通常被定义为long int类型。ptrdiff_t定义在C99标准中。
ptrdiff_t
标准库类型(library type)ptrdiff_t 与 size_t 类型一样,ptrdiff_t 也是一种与机器相关的类型,在 cstddef 头文件中定义。size_t 是unsigned 类型,而 ptrdiff_t 则是 signed 整型[1]。
size_t
这两种类型的差别体现了它们各自的用途:size_t 类型用于指明数组长度,它必须是一个正数;ptrdiff_t 类型则应保证足以存放同一数组中两个指针之间的差距,它有可能是负数[1]。
2程序示例
- #include <stdio.h>
- #include <stddef.h>
- #include <string.h>
- int main(void)
- {
- char str[] = "Hello world!";
- char *pstart = str;
- char *pend = str + strlen(str);
- ptrdiff_t difp = pend - pstart;
- printf("%d\n", difp);
- return 0;
- }
这篇关于ptrdiff_t 类型定义的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!