ptrdiff_t是C/C++標準庫中定義的一個與機器相關的數據類型。ptrdiff_t類型變數通常用來保存兩個指針減法操作的結果。ptrdiff_t定義在stddef.h(cstddef)這個檔案內。ptrdiff_t通常被定義為long int類型。
ptrdiff_t定義在C99標準中。
簡介,ptrdiff_t,size_t,程式示例,#include,intmain,
簡介
ptrdiff_t
標準庫類型(library type)ptrdiff_t 與 size_t 類型一樣,ptrdiff_t 也是一種與機器相關的類型,在 cstddef 頭檔案中定義。size_t 是unsigned 類型,而 ptrdiff_t 則是 signed 整型。
size_t
這兩種類型的差別體現了它們各自的用途:size_t 類型用於指明數組長度,它必須是一個正數;ptrdiff_t 類型則應保證足以存放同一數組中兩個指針之間的差距,它有可能是負數。
程式示例
#include
#include
#include
intmain
(void)
char str[] = "Hello world!";
char *pstart = str;
char *pend = str + strlen(str);
ptrdiff_t difp = pend - pstart;
printf("%d\n", difp);
return 0;
}