69,370
社区成员
发帖
与我相关
我的任务
分享
sizeof(((struct card *)0)->b);
#include <stdio.h>
#include <stddef.h>
struct card
{
char a;
char b[4];
char c;
};
int
main(int argc, char *argv[])
{
size_t size;
size = offsetof(struct card, c) - offsetof(struct card, b);
printf("size=%d\n", size);
return 0;
}
#define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER)
#define container_of(ptr, type, member) ({ \
const typeof( ((type *)0)->member ) *__mptr = (ptr); \
(type *)( (char *)__mptr - offsetof(type,member) );})