概述
c/c++中的char数组类型,不支持直接通过等号来对变量赋值,如果用等号,那就是另外一个意义了:对char*指针赋值,而不是对char*数组所指向的值赋值。但这里需求是要对stu.name这个char数组(也就是char*,指针类型)所指向的值赋值,而不是修改stu.name这个指针的值,所以用等号,能编译通过,但是意义不一样
或者这么记:
对于指针类型来说,用等号只是修改该指针的指向,使其指向另外一个值;
如果用非指针类型,用等号就是复制内存数据到新的变量中,也就是确切修改了该变量的值
c语言由于是最早的一批语言,当时设置者没有考虑到编程发开者的易用性,所以对于字符串这种变量,没有提供现成的类型,而是需要你手动构建一个char数组,用char数组来存储字符串(c++提供了单独的类型string,就是专门解决c语言这个问题),或者这么说吧,c语言中,你要存储字符串,只能用char数组,如果只是一个char类型(单个字符,不是一连串的字符串),才可以用char类(或者int型)
最后
以上就是单薄百褶裙为你收集整理的王老师讲C语言结构的全部内容,希望文章能够帮你解决王老师讲C语言结构所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复