繁体   English   中英

访问结构数组中的结构成员,该结构数组是不同结构的数组的成员

[英]Accessing a member of a structure in an array of structures which is a member of an array of different structures

我有一个称为Object的结构,定义为:

    struct Object
    {
        char name[20];
        char description[50];
    };

我还有另一个名为Room的结构,定义为:

    struct Room
    {
        int number;
        char description[50];
        struct Object objects[10];
    };

然后,我初始化一个Room数组,并尝试更改一个room中对象的名称:

    void main()
    {
        struct Room rooms[1][1];
        rooms[0][0].objects[0].name = "Cabinet";
    }

我的问题是Visual Studio给我这些错误:

    rooms[0][0].objects[0].name = "cabinet";

    Error1:
        expression must be a modifiable lvalue

    Error2:
        '=': left operand must be l-value

我正在使用Visual Studio 2015社区版的C ++编译器来编译和运行C代码。

我不确定我要用C语言做什么,这个想法是我有4个房间,每个房间有11个对象,每个对象都可以有名称和描述。

将bin粘贴到完整代码http://pastebin.com/jQJekLk9

您不能对字符串使用简单的赋值。 您需要使用strcpy

strcpy(rooms[0][0].objects[0].name, "Cabinet");

暂无
暂无

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

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