繁体   English   中英

结构或类中的数组初始化

[英]Array initialization within a structure or class

我只是在研究结构和类。 我创建了一个示例结构来熟悉它,并尝试在其中初始化数组。 当我编译程序时,它给了我错误

error: expected ‘:’, ‘,’, ‘;’, ‘}’ or ‘__attribute__’ before ‘=’ token
char arr[5] = {2,3,8,67,87};

struct abc{
char a;
char b;
char c;

char arr[5] = {2,3,8,67,87};
};  

struct abc xyz[5]; 

结构和类的声明中是否不允许数组初始化?

我想在C中您可以这样做:

struct abc{
char a;
char b;
char c;

char arr[5];
};  

struct abc test= { 5, 2, 3, { 'a', 'b', 'c', 'd', 'e' } };

在C语言中,不能在结构定义中初始化结构的成员。 声明该结构的变量时必须执行此操作。 在C ++中,您可以将其作为构造函数的一部分来进行。

不允许在struct中进行完整的数组初始化,但您可以只初始化数组的名称和类型而无需内容。 在C ++中

struct student{
int age;
string name;
int scoreOf4subject[4];   
}; 

当您需要在数组中设置4个主题值时,它将像:

student keny;   
keny.scoreOf4subject={90,91,94,93};

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM