一般的字符数组可以这么赋值char a[20]="abc\rdefghiaaaaaaaa"; 但是如果定义在结构体里struct stra{ char a[20]; int length }; 就不能stra r;r.a[20]="abc\rdefghiaaaaaaaa"这样赋值,如果字符串小于19,会提示cannot convert from 'char [19]' to 'char [20],如果等于19,提示left operand must be l-value,这个是为什么,如果以后要动态给结构体的字符数组赋值该怎么搞