昨天做了这么一道题,题目如下:
这道题总体思路还是比较常规的,但是后面的几句代码比较难以理解,尤其是那个A*p=0这句代码,刚开始我在想,在C中,NULL和0是一样的,我想的是空指针,但是我的想法错误了,后来我在想是不是这道题出错了,然后我上网查了一下,然后紧接这问了一下我的老师,最后我大概是理解了代码的意思。他应该是对0地址强制类型转换成了结构体类型,然后P指向它,而结构体的首地址就是结构中第一个成员的地址,所以在执行到&P->I的时候,又来了个强制类型转换,所以此时q的值应该是i在结构体中的偏移量。
其实到目前为止个人还是感觉这道题有点怪,但是如果不这样理解的话,就没有办法来做这道题,大家有什么好的想法吗?欢迎评论区留言。