在struct中使用define的妙法

在看网络底层的程序时,看到以下格式的程序

 

struct a
{
  struct T b;
#define k b.k
#define m b.m
}data[10];

 

这种程序第一次看到,后来有几位高人指点,才知道这样子声明的变量,可以直接访问T里面的成员变量,例如可以如下

 

data[0].k即相当于访问变量T里面的成员k

 

注意,虽然#define k b.k是在struct内部,但其有全局作用域,因此起名的时候得注意

 

http://topic.csdn.net/u/20091119/12/010938e3-e7fe-4b04-af69-0a8050c69060.html?56559


版权声明:本文为jamesf1982原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。