为了账号安全,请及时绑定邮箱和手机立即绑定

c语言中单引号和双引号的区别和应用?

c语言中单引号和双引号的区别和应用?

C
dd1231234044160 2016-10-12 15:25:10
查看完整描述

2 回答

?
皓韵儿

TA贡献86条经验 获得超114个赞

C语言中的单引号和双引号的区别

首先肯定地说,二者是有区别的,不是说用谁都一样。

1、实质区别,代表的含义不同

'A'代表的是一个整数,而且这个整数对应的是编译器所采用的字符集中的字符序列对应的数值。所以'A'跟ASCII中的65意义是相同的。


2、占用的内存空间大小不同

1 # include <iostream> 
2  
3 using namespace std; 
4  
5 int main(int argc, char const *argv[]) 
6 { 
7     char str1 = 'A'; 
8  
9     char str2 = "A";
10 
11     cout<<sizeof(str1)<<endl<<sizeof(str2)<<endl;
12 
13     return 0;
14 }

大家猜一猜输出的str1的大小是多少?str2输出的大小是多少?

????????????????????????????

不用猜了,为啥,因为编译不了啊。怎么会编译不了?因为编译器报错了。

看出了因为啥了吗?我英文差,估计应该是说第9行,定义的一个字节存不下,建议你定义两个字节,就是char str2[2]来存放"A"。明明"A"应该占用一个字节啊?为啥要给他分配两个字节的空间呢?

因为这里系统会在字符串的尾端默认添加一个二进制为0的字符'\0',其实它就是一个转义字符。


查看完整回答
2 反对 回复 2016-10-12
?
望远

TA贡献1017条经验 获得超1032个赞

单引号是字符例如'a',双引号是字符串例如"aaaa"
查看完整回答
反对 回复 2016-10-12
  • 2 回答
  • 1 关注
  • 2190 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信