#define StrLen 81
typedef struct {
int len;
char ch[StrLen];
}String;
定义了一个String结构体,其中有一个字符数组长度是81,在代码里赋值的时候就必须要给一个81的数组吗?s1.ch="this";这样报错,cannot convert from 'char [6]' to 'char [81]'我想赋一个这样的值要怎样写?
求教
有正常的赋值方法吗?赋个值还要作用函数吗
追答其实还有一种,直接使用char指针进行赋值,还有就是,你这个赋值不成功的问题主要是因为字符数组在除初始化可以一次性赋值以外的地方都不可以赋值,而不是楼上讲的数组之间不能直接赋值(虽然说也的确不能但是这个问题不是这个原因)
比如说
char a[80]="awdsa";这样可以,但是
char a[80];这样就不可以了,你这个就是属于这种问题
但是你可以这样
char a[80];用指针对字符数组进行赋值
也就是说你的问题可以这样:
char* give=s1.ch;昨天因为没时间就给了一个最简单的函数
所以今天补上
不采纳给个赞也行
对你有帮助就好