|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 乱码zzz 于 2020-3-23 14:04 编辑
Qwq大家的回答没有解决我疑惑的问题,可能是我问的方法有问题我再细化一下
就是想问
①char name[] = {‘F’,’i’,’s’,’h’,’C’,’/0’} 和char name[] = {‘F’,’i’,’s’,’h’,’C’} 有没有区别
后者难道只是不规范表达的前者嘛?
②char定义的数组是一定要在末尾加/0吗
有人回答说字符串要在末尾加/0 所以char定义的数组本质上是字符串嘛?
----------------原问题
想知道
char name[] = {‘F’,’i’,’s’,’h’,’C’,’/0’} 和char name[] = {‘F’,’i’,’s’,’h’,’C’} 到底有什么区别
char定义的数组是一定要在末尾加/0吗
char name[] = {‘F’,’i’,’s’,’h’,’C’,’/0’}你这样写是对的,系统会自动按照初始化列表中提供的初值个数确定数组的大小;但如果char name[] = {‘F’,’i’,’s’,’h’,’C’}这样写,系统会将name初始化为一个长度为5的数组,因为存储字符串“FishC”至少需要6个字节的存储单元,而长度声明为5时,将会因为没有多余的空间存放编译系统在数组末尾自动添加的‘/0’,而使系统无法将name当作字符串来处理,也就说这样写是错的。
但是你可以使用以下的方法更为简单的初始化字符串:
char name[]={"FishC"}
按这种方式,不必指定数组的大小,也不用纠结写不写‘/0’的问题了
|
|