From Free Pascal wiki
Revision as of 18:26, 25 January 2022 by Kai Burghardt (talk | contribs) (add pronunciation of ptrUInt)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search

The data types ptrInt (“Peter Int”) and ptrUInt (“Pee true Int”) are signed and unsigned integer data types respectively having the same sizeOf of a pointer.


  • Use ptrUInt if an integer value will eventually be typecasted to a pointer.
  • Regardless of the size taken up by its elements, an array cannot have more than high(ptrInt) elements. Additionally, the range type must be a subrange of ptrInt.[1]


  • PtrInt/ptrUInt are not necessarily the same size of ALUSInt/ALUUInt.
  • The introduction of ptrInt was a mistake. New code should not use it.
  • IntPtr and nativeInt are aliases for ptrInt.
  • UIntPtr and nativeUInt are aliases for ptrUInt.
  • PtrInt and ptrUInt are redefined by the unit unicodeData.