gpt4 book ai didi

c - 通过 NULL 指针获取结构成员的地址

转载 作者:太空狗 更新时间:2023-10-29 16:02:10 25 4
gpt4 key购买 nike

为什么下面的表达式不是(空指针)运行时错误?

typedef struct{
int a,b,c;
} st;

st obj={10,12,15};
st *ptr1=&obj;
st *ptr2=NULL;

printf("%d",*(int *)((char*)ptr1+(int)&ptr2->b));

最佳答案

因为您正在对调用未定义行为的 NULL 指针执行指针运算 - 而这不需要崩溃。

关于c - 通过 NULL 指针获取结构成员的地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16999329/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com