首页 > 解决方案 > C中结构的Typedef成员

问题描述

问题:我们可以为结构的成员创建别名吗?

假设我们有以下结构,但变量名不太有用(它们本身可能是其他结构):

struct foo {
    type a;
    type b;
    type c;
};

有没有办法为特定struct foo或全部做(在函数内部) struct foo

struct foo my_foo;

typedef my_foo.a protocol;
typedef my_foo.b local;
typedef my_foo.c remote;

// or

typedef (struct foo).a protocol;

直接用作:

protocol = ...        // instead of my_foo.a

or

my_foo.protocol = ... // instead of my_foo.a and similar my_bar.a

标签: cstructtypedef

解决方案


推荐阅读