C语言指针问题,结构体指针

C语言指针问题,结构体指针
定义一个指针p指向存储数据文件的内存块(指向数据文件的首地址),数据文件里有n个结构体,结构体的大小为size;然后

for(size_t i=0;i(p+i+12);}
其中结构体变量a的字节偏移量为12,(p+i+12)指的是第i+12个结构体,还是指第i * size 个a这个元素

格式化一下代码吧
p的类型是什么?决定了p+i+12向后偏移的数值单位
从你的代码看,应该是移动i+12个字节。p应该是 char *类型吧

如果你p 是char *
那 p +i+12 就是 p 往后移动 i+12 个字节;
*(p +i+12) 就是去 i + 12 之后的那个字符


可以查看手册:c语言-指针 中的内容