字符数组赋值的问题

voidmain(){structstu{intnum;charname【20】;}}student;student.num=100;student.name=strcp... void main(){
struct stu {
int num;
char name【20】;

}student;
student.num = 100;
student.name = strcpy(student.num,“zhoujielun”);
我想问的是,为什么下面的字符数组不可以像上面的整形一样赋值,非得要用strcpy呢!如果可以,举个例子。
还有,char name[20] 是字符数组,给其初始化值的时候应该是{‘z’,‘y’,‘x’},为什么可以一次性入力{“zhoujielun”},这不是字符串么?字符不是单引号么?举些例子吧!好的双倍给分!谢谢!
展开
 我来答
zhjiemm
2012-02-22 · TA获得超过2643个赞
知道大有可为答主
回答量:1834
采纳率:75%
帮助的人:716万
展开全部
1,第一个问题:strcpy
对于数组来说,可以在定义的时候进行初始化直接赋值的,如
struct stu student = {100,"zhoujielun"};
如果是先定义,再赋值就不行了,因为定义同时初始化是在编译阶落进行的。
而随后的赋值是在运行期间,只能用函数进行字符串的copy才行。

2,
char name[20] = {'z','y','x'};

char name[20] = "zhoujielun";
是一样的,只不过前者是一个字符一个字符的进行初始化;后者是近字符串进行。它们都是在定义的时候进行初始赋值的。

【字符串都是以双引号进行表示的】

strcpy(student.num,“zhoujielun”);
看看窗外飞仙
2012-02-23 · TA获得超过3647个赞
知道小有建树答主
回答量:216
采纳率:0%
帮助的人:247万
展开全部
name是一个数组,指向一块大小为20*sizeof(char)内存,用来存储字符,这里name是一个静态的,长度不可变的数组,不是一个通常意义上的指针,换句话说,这个指针只能指向这块大小为20*sizeof(char)的内存,这个地方name不能被赋值,则必须使用strcpy把后面的字符串中的字符一个一个复制到数组中
C\C++中通常意义上表示字符串是使用的字符数组,C\C++中的字符串是一串以'\0'为标识符的char型数组,例如,char * p = "abcdefg",那么p指向一串不可修改的char型数组,char s[20] = “abcdefg”相当于以下赋值:
char s[20] = {'a','b','c','d','e','f','g','\0'};
那么使用printf对p和s进行输出时(printf(p);printf(s))效果一样
只需记住C\C++中没有字符串这一独立的数据类型,字符串时使用字符数组进行表示的即可
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhangdebo321
2012-02-22 · TA获得超过203个赞
知道小有建树答主
回答量:262
采纳率:100%
帮助的人:197万
展开全部
赋值可以直接student.name =“zhoujie”,这个函数是复制函数,是为了方便有时候在一个数组里操作会改变我们不期望的改变,所以复制一个副本。
字符串和字符数组几乎差不多,所以可以char *s="afasfasf",s[]="asfdasf",也可以单个元素赋值
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
俎饮桑志泽
2020-08-08 · TA获得超过1112个赞
知道小有建树答主
回答量:1837
采纳率:96%
帮助的人:8.9万
展开全部
变量赋值好比提篮子买菜,只要篮子能装下菜,就可以用。(篮子=变量,菜=值)
char
类型只占一个字节
int
占四个字节(32位机)
所以,
len=buff[0];//这个是将字符数组中的第一个字符赋给一个整型变量
len?合理、合法。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
铁恨岳秀慧
2019-02-21 · TA获得超过1345个赞
知道小有建树答主
回答量:1878
采纳率:100%
帮助的人:8.7万
展开全部
len=buff[0];buff数组初始化后,这样赋值也没什么问题,毕竟整形范围比CHAR范围大。
但是,传给len的值是ASCII码。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式