长度为1 的串等价于一个字符型常量吗?为什么...

[复制链接]
查看11 | 回复3 | 2018-3-23 18:14:41 | 显示全部楼层 |阅读模式
不相等。容量不同:字符常量只能是单个字符,字符串常量则可以含一个或多个字符。占用内存空间大小不同:字符常量占一个字节的内存空间,字符串常量占的内存字节数等于字符串中字节数加1。增加的一个字节用来存放字符‘\0’,作为字符串的结束标志。...
回复

使用道具 举报

千问 | 2018-3-23 18:14:41 | 显示全部楼层
不等价,字符串和字符有严格区别的;比如: String a1 = "a";
char a2 = 'a';是有区别的,char可以当做数字使用,可以强制转换为int,String不行。String变量可以指向其他对象,但是String对象不可改变。...
回复

使用道具 举报

千问 | 2018-3-23 18:14:41 | 显示全部楼层
不等于:"a" != 'a'你可以输出:printf("%d\t%d\n", sizeof("a"), sizeof('a'));看结果,你就知道了。想知道细节的话,查内存:const char *p = "a";printf("%d\n", (int)p[0]);printf("%d\n", (int)p[1]);...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行