今天看到一个结构体,一直没看明白,网上查了一些关于typedef的资料,这才终于弄明白。
typedef struct fbdev {
int fb;
unsigned long fb_mem_offset;
unsigned long fb_mem;
...
}FBDEV, *PFBDEV;
之前一直看不明白FBDEV和*PFBDEV是什么。不过分开看的话,就非常清楚了。上面的代码其实可以看成两段,即上面的逗号的作用。
typedef struct fbdev {
int fb;
unsigned long fb_mem_offset;
unsigned long fb_mem;
...
}FBDEV;
这里的FBDEV就替代了struct fbdev{…}。
typedef struct fbdev {
int fb;
unsigned long fb_mem_offset;
unsigned long fb_mem;
...
}*PFBDEV;
这里PFBDEV就相当于 struct fbdev{…} *。这样如果声明该类型的结构体指针的话,直接PFBDEV pointer就可以了。