From Free Pascal wiki
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.