intptr_t 指針


對於64為系統:

typedef  signed char  int8_t;

typedef short int int16_t;

typedef int int32_t;

# if __WORDSIZE==64

typedef long int int64_t;

#else 

typedef long long int  int64_t;

intptr_t 的定義:

/* Types for `void *' pointers. */
#if __WORDSIZE == 64
# ifndef __intptr_t_defined
typedef long int intptr_t;
# define __intptr_t_defined
# endif
typedef unsigned long int uintptr_t;
#else
# ifndef __intptr_t_defined
typedef int intptr_t;
# define __intptr_t_defined
# endif
typedef unsigned int uintptr_t;
#endif

 

可以看出指針用來保存變量或常量的地址,地址由處理器的位數決定。Windows 程序中的句柄就是一個地址。intptr_t 在不同平台上不一樣,始終與地址位數相同,用來存放地址。。

使用intptr_t 來保證平台的通用性,在不同平台上編譯的長度不同。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM