[問題] 面試遇到的複雜typedef跟位址運算
看板C_and_CPP (C/C++)作者Starcraft2 (我就是不出你能拿我怎樣)時間14年前 (2012/03/17 09:43)推噓5(5推 0噓 7→)留言12則, 8人參與討論串1/1
某外商的考題:
#define MACRO_A(P,S,F) ( (S*)( (unsigned char*)(P)- ((int)&((S*)0)->F) ) )
typedef struct_KKK
{
struct
{
int xx;
int yy;
int zz;
};
void *link;
int aaa[100];
int bbb[12];
}KKK
int main()
{
KKK obj;
printf(&obj); // 這一行印出的是0x31f780
printf(MACRO_A(&(obj.link),KKK,link); // 這一行會印出什麼? 此函數的意義為?
}
希望我括號沒有括錯 從 (S*)0這邊會是什麼就不懂了...
向各位前輩請益一下~
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 180.218.130.116
※ 編輯: Starcraft2 來自: 180.218.130.116 (03/17 09:44)
推
03/17 09:57, , 1F
03/17 09:57, 1F
→
03/17 10:00, , 2F
03/17 10:00, 2F
推
03/17 10:02, , 3F
03/17 10:02, 3F
推
03/17 10:10, , 4F
03/17 10:10, 4F
→
03/17 13:11, , 5F
03/17 13:11, 5F
→
03/17 14:43, , 6F
03/17 14:43, 6F
推
03/17 18:09, , 7F
03/17 18:09, 7F
推
03/17 18:31, , 8F
03/17 18:31, 8F
→
03/17 20:21, , 9F
03/17 20:21, 9F
→
03/17 20:21, , 10F
03/17 20:21, 10F
→
03/18 10:56, , 11F
03/18 10:56, 11F
→
03/18 10:56, , 12F
03/18 10:56, 12F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章