enum
{
    ARRAY1,
    ARRAY2,
    ARRAY3,
    ARRAY4,
    ARRAY5,
    STMEMBERCOUNT
};

STMEMBERCOUNT显示结构中的成员列表
typedef struct {
   char array1[26];
   char array2[31];
   char array3[31];
   char array4[11];
   char array5[11];
}ST_ARRAY;


main()
{
    int i;
    int sizeofmember[STMEMBERCOUNT];

    for(i = 0; i < STMEMBERCOUNT; i++)
    {
        sizeofmember[i] = ???????
    }
}

这样我的数组就可以
sizeofmember[0] = 26
sizeofmember[1] = 31
sizeofmember[2] = 31
sizeofmember[3] = 11
sizeofmember[4] = 11

最佳答案

如果我理解正确,您需要遍历结构或枚举的成员。
这在C/C++中是不可能的,主要是因为编译了一个C程序。允许在成员上迭代的语言通常在虚拟机或运行时环境中解释或运行程序,在该环境中可以更容易地获得有关结构的运行时信息。

07-28 10:50