c - 在 Visual Studio 中用 C 初始化结构内部的数组

标签 c arrays struct visual-studio-2015

在此结构中,我想初始化一个数组,但 Visual Studio 在 rulesRefIndex[3] 之后立即标记了一个错误

expected a ';'

struct Fact{
    char name[4];
    char value[6];
    int rulesRefIndex[3] = { -1 };
};

即使使用 intrulesRefIndex[3] = { -1,-1,-1 };intrulesRefIndex[3] = {[0...3]= 也会发生错误-1 }; 如所述here.

我做错了什么?

最佳答案

只有在定义变量时才能初始化,而在c中定义结构(数据类型)时不能初始化。查看以下帖子了解详细信息。

Why can't we initialize members inside a structure?

此外,您的问题与部分初始化有关。请检查此帖子。

C and C++ : Partial initialization of automatic structure

关于c - 在 Visual Studio 中用 C 初始化结构内部的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35952110/

相关文章:

c - 从函数返回数组地址无效

ios - 无法将类型 '__NSArrayI' (0x10df73c08) 的值转换为 'NSDictionary' (0x10df74108)

c - 串口和命名管道的区别

c - 如何快速确定文本文件中的行数?

c++ - 当涉及数组时,我们可以安全地从 C++ 调用 C API 函数吗?

java - 多数组中的 nullPointerException

python - 为什么解包结构会产生元组?

c - 在不引用内部结构的情况下访问另一个结构中的结构字段

c - 让 fscanf 存储在 C 中的结构中

c - 找到以 2 和 10 为底数的回文数字并将它们相加