Chuẩn C (ISO/IEC 9899: 2011 hoặc 9899: 1999) xác định loại ptrdiff_t
trong <stddef.h>
.Sự khác nhau giữa ssize_t và ptrdiff_t là gì?
Chuẩn POSIX (ISO/IEC 9945; IEEE Std 1003.1-2008) xác định loại ssize_t
trong <sys/types.h>
.
- Sự khác nhau giữa các loại này (hoặc tại sao cả hai được coi là cần thiết)?
- Có triển khai nào trong đó loại cơ sở cơ bản cho
ssize_t
không giống vớiptrdiff_t
?
có lẽ đó là ngữ nghĩa của 'ptrdiff_t' được gọi để bổ sung' ssize_t'? Đôi khi, một loại kích thước có chữ ký là hữu ích, nếu bạn muốn có thể trung gian có nó đại diện cho '-1'. Ngữ nghĩa của 'ptrdiff_t' là" sự khác biệt giữa hai con trỏ ", đó không phải là ngữ nghĩa chính xác của" kích thước ". –
Có lẽ một chút hoang tưởng NIH trong ủy ban stadards có liên quan –