当前位置: C语言 -- 标准库 -- <stddef.h> -- ptrdiff_t

ptrdiff_t类型


描述:

该类型是表示两个指针相减结果的有符号整数类型。

当两个指针相减时,这两个指针应指向相同数组的元素或者最后一个元素的后一个元素,两个指针相减才有意义。


范例:
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
16 
17 
18 
19 
20 
21 
/*类型ptrdiff_t范例*/

#include <stddef.h>
#include <stdio.h>

int main(void)
{
    int arr[10];
    int *pstart = &arr[2];
    int *pend = &arr[7];
    ptrdiff_t diff;

    diff = pstart - pend;

    printf("pstart: %p\n", pstart);
    printf("pend: %p\n", pend);
    printf("diff: %td\n", diff);

    return 0;
}


输出:

pstart: 000000000061FDE8

pend: 000000000061FDFC

diff: -5


相关内容:
size_t 表示sizeof运算符运算结果的无符号整数类型。
max_align_t 最大基本对齐的对象类型。
wchar_t 宽字符类型。