1.入门
推荐阅读:http://blog.linux.org.tw/~jserv/archives/001844.html
2.特殊函数
1. offsetof()
C 库宏
参考http://www.runoob.com/cprogramming/c-macro-offsetof.html
灵活计算成员变量的地址偏移值
struct person_address {
char name[50];
char street[50];
int phone;
};
person_address g_person0;
#define ADDR_person0 &g_person0
#define person_address _MEMBER_ADDR(member) (ADDR_person0 +offsetof(person_address, member))
int main()
{
printf("address 结构中的 name 偏移 = %d 字节。\n",
offsetof(struct address, name));
printf("address 结构中的 street 偏移 = %d 字节。\n",
offsetof(struct address, street));
printf("address 结构中的 phone 偏移 = %d 字节。\n",
offsetof(struct address, phone));
//常用宏定义用法
printf("g_person0结构中的 phone 偏移 = %d 字节\n",person_address _MEMBER_ADDR(phone))
return(0);
}