[英]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.