C语言修改结构体中数据的问题

本人初学者一个,想问一下,我已经定义了结构体lib和 char name,
lib[0].name = "asd";
为什么不能这样操作?要求表达式是可修改的左值
定义了char name[20];

因为char型数组没有重载运算符=,不能对其进行直接复制字符串
可以借助strcpy函数完成,如strcpy(lib[0].name, "asd");就是将“asd”拷贝到lib[0].name中
温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-11-21
数组有规定的, 一旦声明, 数组名不可修改
你你如果想那样赋值的话, 吧name的声明改成:
char * name;追问

不是改变数组名,是里面的内容……已经会了,谢谢你

相似回答