|
|
发表于 2005-9-9 14:39:11
|
显示全部楼层
Post by haohao_h
精彩,谢谢!有三个问题!
1、我的index是int型的,这儿为什么要转换为(char *)?
强转的不是index,而是index的地址,因为后面要减偏移,所以要转成char*.也可以转成int
2、linux的堆栈是向上生成的吧?那么是否应该是-(int)&((struct demo*)0)->index?
不好意思,笔误,已经改过了
3、如果我的成员是结构的第一个成员的话,那么这个成员的地址是不是总是和这个结构的地址相同?
是的.
在后面的程序中我简单地用第一个成员地地址代替结构地址(当然会类型转换一下)会不会出问题?
应该不是出问题,至少我还没想出会出问题的例子. |
|