c语言字符数组初始化语法:char str[]=""与char str[]={}有何区别

 我来答
永恒哥13璹燄
2016-06-25 · TA获得超过793个赞
知道小有建树答主
回答量:246
采纳率:98%
帮助的人:51.7万
展开全部
前面那个是在定义的时候赋值,char数据类型只能在定义变量的时候赋值字符串。
举例1
char str[]="Hello!"; 或者char str[]={"Hello!"};这两个是一样的。
举例2
char str[]; str[]="Hello!"; 这里先定义,在赋值,这局赋值语句语法是错误的。
举例3
例2不行,那如何赋值。如下
char str[]; str[]={'H','e','l','l','o','!'}是一个一个赋值的,
也可以这样赋值str[0]='H'; str[1]='e'; .........str[5]='!';

总结:1. char数据类型只能在定义的时候赋值双引号里的内容,表示字符串
2. 字符串和字符的区别就是字符串在内存中在字符结尾多存了一个 '\0' 表示字符串结束

所以,char str[]="";是在定义的时候赋予str一个空字符串,但是内存中有存'\0',也可以写成 char str[]={""}; 赋值字符串的时候花括号可以去掉。这么一来再看你的另一个语句
char str[]={};里面没有双引号,其实就是没有常量赋值给str,这里等价于 char str[].
如果是要赋值字符串的话推荐char str[]="";很好用。但是要搞懂字符和字符串的区别
采纳可追问,天天在线。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式