对结构体中字符数组赋值时,出现表达式必须是可修改的左值的问题


问题描述:

        在C++中为结构体中的字符数组赋值时,出现”表达式必须是可修改的左值“的错误提醒,编译报错“不可指定数据类型”。

对结构体中字符数组赋值时,出现表达式必须是可修改的左值的问题

对结构体中字符数组赋值时,出现表达式必须是可修改的左值的问题

问题分析:

            结构体中定义的数组:char brand[20],使用 t->brand="adc"是无法进行赋值的。因为brand是字符数组名,而“adc”字符串常量,字符数组名不无法修改的! 可以在对结构体初始化时用字符串常量进行赋值。


解决办法:

        1、用字符指针替代字符数组

 对结构体中字符数组赋值时,出现表达式必须是可修改的左值的问题


     2、使用strcpy对结构体数组赋值

对结构体中字符数组赋值时,出现表达式必须是可修改的左值的问题

    3、使用string

                                                       对结构体中字符数组赋值时,出现表达式必须是可修改的左值的问题