您的位置:首页 > 其它

变量的间接赋值与间接引用

2020-02-04 00:34 309 查看
struct Student
{
char a;
int b;
char c;
int d;
};
struct Student p = { 'a', 1, 'b', 2 };
printf("p.d:%d\n",p.d);

p.d = 1000;

printf("%d\n", *(int *)((char *)&p + 12));//1000

(char *)&p 设置偏移量为1
(char *)&p + 12 找到d的首地址
(int *)((char *)&p + 12)取以d地址为首的四个字节
*(int *)((char *)&p + 12)间接引用d

  • 点赞
  • 收藏
  • 分享
  • 文章举报
活捉一只大狗狗 发布了11 篇原创文章 · 获赞 0 · 访问量 319 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: