Chinaunix首页 | 论坛 | 博客
  • 博客访问: 6382841
  • 博文数量: 579
  • 博客积分: 1548
  • 博客等级: 上尉
  • 技术积分: 16634
  • 用 户 组: 普通用户
  • 注册时间: 2012-12-12 15:29
个人简介

http://www.csdn.net/ http://www.arm.com/zh/ https://www.kernel.org/ http://www.linuxpk.com/ http://www.51develop.net/ http://linux.chinaitlab.com/ http://www.embeddedlinux.org.cn http://bbs.pediy.com/

文章分类

全部博文(579)

文章存档

2018年(18)

2015年(91)

2014年(159)

2013年(231)

2012年(80)

分类: C/C++

2013-12-13 11:34:40

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 类型一样, 也是一种与机器相关的类型,在 cstddef 头文件中定义。size_t 是unsigned 类型,而 ptrdiff_t 则是 signed 整型[1]。

size_t

这两种类型的差别体现了它们各自的用途: 类型用于指明数组长度,它必须是一个正数;ptrdiff_t 类型则应保证足以存放同一数组中两个指针之间的差距,它有可能是负数[1]。

2程序示例

点击(此处)折叠或打开

  1. #include <stdio.h>
  2. #include <stddef.h>
  3. #include <string.h>

  4. int main(void)
  5. {
  6.     char str[] = "Hello world!";
  7.     char *pstart = str;
  8.     char *pend = str + strlen(str);
  9.     ptrdiff_t difp = pend - pstart;
  10.     printf("%d\n", difp);
  11.     return 0;
  12. }


阅读(6311) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~