C语言中的指针P单位变化量是P所指向的数据类型的空间大小
指向结构体的指针加1:
编译器在这个指针加一的时候会去做结构解析,即不是物理位置的简单加一,而是往高位移动一个结构体大小的位置(加的是sizeof(stu)的大小),然后指向那个地方
结构体的大小不是各成员长度的和,因为不同的对象有不同的对齐要求,所以结构体中可能出现未命名的空穴
如果希望移1位的话做这样转换:char *pp=(char*)p;pp++;强制编译器做字符大小解析,即移1位
阅读(746) | 评论(0) | 转发(0) |