不同类型的指针加减(就是向前或向后移动)
2015-11-16 23:00
225 查看
和机器字长及编译器有关系:
所以,int,long int,short int的宽度都可能随编译器而异。但有几条铁定的原则(ANSI/ISO制订的):
1 sizeof(short int)<=sizeof(int)
2 sizeof(int)<=sizeof(long int)
3 short int至少应为16位(2字节)
4 long int至少应为32位。
unsigned 是无符号的意思。
例如:
16位编译器
char :1个字节
char*(即指针变量): 2个字节
short int : 2个字节
int: 2个字节
unsigned int : 2个字节
float: 4个字节
double: 8个字节
long: 4个字节
long long: 8个字节
unsigned long: 4个字节
32位编译器
char :1个字节
char*(即指针变量): 4个字节(32位的寻址空间是2^32, 即32个bit,也就是4个字节。同理64位编译器)
short int : 2个字节
int: 4个字节
unsigned int : 4个字节
float: 4个字节
double: 8个字节
long: 4个字节
long long: 8个字节
unsigned long: 4个字节
64位编译器
char :1个字节
char*(即指针变量): 8个字节
short int : 2个字节
int: 4个字节
unsigned int : 4个字节
float: 4个字节
double: 8个字节
long: 8个字节
long long: 8个字节
unsigned long: 8个字节
这里说下32位的加法 :
char* +4 和int* +4 有什么区别
char* in,指针指向in的begin,
char* +4:往后移动4个char位置,即移动4位
int * +4*4,
short*+ 4 相当于后移 2*4位,
long*+4 相等于后移8*4位
所以,int,long int,short int的宽度都可能随编译器而异。但有几条铁定的原则(ANSI/ISO制订的):
1 sizeof(short int)<=sizeof(int)
2 sizeof(int)<=sizeof(long int)
3 short int至少应为16位(2字节)
4 long int至少应为32位。
unsigned 是无符号的意思。
例如:
16位编译器
char :1个字节
char*(即指针变量): 2个字节
short int : 2个字节
int: 2个字节
unsigned int : 2个字节
float: 4个字节
double: 8个字节
long: 4个字节
long long: 8个字节
unsigned long: 4个字节
32位编译器
char :1个字节
char*(即指针变量): 4个字节(32位的寻址空间是2^32, 即32个bit,也就是4个字节。同理64位编译器)
short int : 2个字节
int: 4个字节
unsigned int : 4个字节
float: 4个字节
double: 8个字节
long: 4个字节
long long: 8个字节
unsigned long: 4个字节
64位编译器
char :1个字节
char*(即指针变量): 8个字节
short int : 2个字节
int: 4个字节
unsigned int : 4个字节
float: 4个字节
double: 8个字节
long: 8个字节
long long: 8个字节
unsigned long: 8个字节
这里说下32位的加法 :
char* +4 和int* +4 有什么区别
char* in,指针指向in的begin,
char* +4:往后移动4个char位置,即移动4位
int * +4*4,
short*+ 4 相当于后移 2*4位,
long*+4 相等于后移8*4位
相关文章推荐
- 微波工程学习心得(一)D.M.Pozar版
- wxpython学习2
- SHA算法详解
- (spring-第5回【IoC基础篇】)spring容器从加载配置文件到实例化bean的内部工作机制
- kNN算法 k-Nearest Neighbors algorithm
- iOS开发之图片查看器
- POJ 1014 -多重背包
- java实现冒泡算法
- 发送短信或邮件
- Linux指令
- jQuery
- MongoDB 复制集模式Replica Sets
- Launcher3 应用图标的加载流程
- centos6.7 编译安装mysql-5.6.27
- 记录每天学习机器学习的经历,对照机器学习实战这本书
- Python+opencv 无法正确读取视频文件(已解决)
- 秒杀核心设计——防止超卖、高并发与varnish详解
- 单级iir信号处理模块
- Clone Graph
- mysql安装过程记录和后续学习