1. struct a
    2. {
    3. struct T b;
    4. #define k b.k
    5. #define m b.m
    6. }data[10];

    这样在a中,就不需要data[i].a.b.k 这种啰嗦的方式调用k,data[i].a.k 就可以。

    这里宏的作用是替换 a.k 为 a.b.k ,替换 a.m 为 a.b.m。