C语言中的单引号和双引号的区别
来源:互联网 发布:ubuntu创建用户和目录 编辑:程序博客网 时间:2024/05/10 14:21
C语言中的单引号和双引号的区别
首先肯定地说,二者是有区别的,不是说用谁都一样。
1、实质区别,代表的含义不同
'A'代表的是一个整数,而且这个整数对应的是编译器所采用的字符集中的字符序列对应的数值。所以'A'跟ASCII中的65意义是相同的。
1 # include <iostream> 2 3 using namespace std; 4 5 int main(int argc, char const *argv[]) 6 { 7 char str1 = 'A'; 8 9 int str2 = 65;10 11 cout<<str1<<endl<<(char) str2<<endl;12 13 return 0;14 }
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',其实它就是一个转义字符。
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[2] = "A";10 11 cout<<sizeof(str1)<<endl<<sizeof(str2)<<endl;12 13 return 0;14 }
分类: C, C++
0 0
- C语言中的单引号和双引号区别
- C语言中的单引号和双引号的区别
- C语言中的单引号和双引号的区别
- C语言 单引号和双引号的区别
- C语言中单引号和双引号的区别
- Slyar Home » C语言 单引号和双引号的区别
- Shell中的单引号和双引号的区别
- oracle中的单引号和双引号的区别
- php中的单引号和双引号的区别
- 双引号和单引号的区别
- 单引号和双引号的区别
- 单引号和双引号的区别
- C语言中双引号与单引号的区别?
- 探索C语言中单引号与双引号的区别
- 正则写在单引号和双引号中的区别
- JS中的单引号与双引号的区别
- php中的单引号与双引号的区别
- PHP中双引号和单引号的区别
- Elasticsearch在生产环境中的优化
- springMVC和Shiro框架整合使用简单示例
- 下载地址
- margin之百分比
- 数据结构-----------B树
- C语言中的单引号和双引号的区别
- hdu5735Born Slippy
- x86_64下多平台编译qt4.8.6
- TIANKENG’s restaurant 【区间覆盖 好题】
- 打印两个有序链表的公共部分
- 成为Java高手的25个学习要点
- UVA 10615 Rooks <二分图 + 正则二分图 + 完全匹配>
- Android之使用URLConnection进行网络编程
- 【HDU】2841 - Visible Trees(容斥原理)