Chinaunix首页 | 论坛 | 博客
  • 博客访问: 39530
  • 博文数量: 31
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 370
  • 用 户 组: 普通用户
  • 注册时间: 2015-02-03 14:41
个人简介

路漫漫其修远兮,吾将上下而求索

文章分类

全部博文(31)

文章存档

2015年(31)

我的朋友

分类: C/C++

2015-05-21 15:32:43

C语言中的指针P单位变化量是P所指向的数据类型的空间大小

指向结构体的指针加1:

编译器在这个指针加一的时候会去做结构解析,即不是物理位置的简单加一,而是往高位移动一个结构体大小的位置(加的是sizeof(stu)的大小),然后指向那个地方
结构体的大小不是各成员长度的和,因为不同的对象有不同的对齐要求,所以结构体中可能出现未命名的空穴

如果希望移1位的话做这样转换:char *pp=(char*)p;pp++;强制编译器做字符大小解析,即移1位
阅读(755) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~