2015-12-03 80 views
-1

UPDATE:代码是正确的和合理的,评论提供如何分配值STRUCT变量结构内结构,使用的typedef和数组

我写在包含2个整数数组℃的结构和阵列自定义类型的'信息'。这个'info'类型只包含几个int变量。下面是一段代码,我已经拿出已经做了一下网络上搜索的:

typedef struct info { 
    int test_count; 
    int skip_count; 
    int prime_count; 
} info; 

struct myStruct { 
    int arr1[10]; 
    int arr2[20]; 
    info info[20]; 
}; 

这不会产生任何编译器警告或错误,但它是给出最明智的执行了我想要做什么?

另外 - 我将如何分配值的信息变量,然后通过myStruct访问它们?我已经尝试过使用点运算符的各种语句,但是我无法让它们通过编译器。

+2

对我来说看起来不错。用法示例'struct myStruct x; x.info [3] .skip_count = 4;' –

+1

请显示相关来源和错误。 – OldProgrammer

+3

这是有效的C编译器说不抱怨。它是否合适取决于你想用它做什么。例如,为什么10不是20?如果它也是20,那么你会更好地使用包含一对'int'值和'info'的替代结构。我可以观察到,使用'info'的目的非常多(结构标记,typedef名称,结构元素名称)是相当彻底的 - 可能会令人困惑;只有非预处理器名称空间中的标签可供使用。 –

回答

0

对我来说没问题。用法示例struct myStruct x; x.info[3].skip_count = 4; –   M.M

并考虑:struct myStruct x;你应该能够使用x.info[13].prime_count访问数组的元素。 –   Jonathan Leffler