首页 > 其他 > 详细

intptr_t 指针

时间:2017-10-02 21:52:06      阅读:276      评论:0      收藏:0      [点我收藏+]

对于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 来保证平台的通用性,在不同平台上编译的长度不同。

intptr_t 指针

原文:http://www.cnblogs.com/fanhaha/p/7622487.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!