王老师讲C语言结构


c/c++中的char数组类型,不支持直接通过等号来对变量赋值,如果用等号,那就是另外一个意义了:对char*指针赋值,而不是对char*数组所指向的值赋值。但这里需求是要对stu.name这个char数组(也就是char*,指针类型)所指向的值赋值,而不是修改stu.name这个指针的值,所以用等号,能编译通过,但是意义不一样 





或者这么记:
对于指针类型来说,用等号只是修改该指针的指向,使其指向另外一个值;
如果用非指针类型,用等号就是复制内存数据到新的变量中,也就是确切修改了该变量的值


 c语言由于是最早的一批语言,当时设置者没有考虑到编程发开者的易用性,所以对于字符串这种变量,没有提供现成的类型,而是需要你手动构建一个char数组,用char数组来存储字符串(c++提供了单独的类型string,就是专门解决c语言这个问题),或者这么说吧,c语言中,你要存储字符串,只能用char数组,如果只是一个char类型(单个字符,不是一连串的字符串),才可以用char类(或者int型)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值