字符类型char、字符串与字符数组、字符数组与数据数组区别
字符类型是以ASCII码值运算的:
小写字母比相应的大写字母大32,其中A=65,a=97
Esc键 27(十进制)、'\x1B'(十六进制)、'\33'(八进制)
转义字符:
\0 空字符 ASCII码值 0
\n 换行
\r 回车
\t 水平制表符(Tab键)
\' 单引号
\" 双引号
\\ 反斜杠
注意:英文字符用单引号,中文字符用双引号(2个字节/中文字符,以字符串方式存储)
#include<iostream> using namespace std; int main() { char c = 'M'; //等效于ch=77;M的ASCII码值77,'\x4D'或'\115' char b[] = "你";//2+1=3个字节 char str[] = { '1','m',"嗨" };//1+1+(2+1)=5个字节 cout << str[2]<<str[3];//中文字符,2个字节,都输出才输出“嗨” return 0; }
字符串与字符数组
字符串:以隐含的空字符\0结束,占用字节数+1,注意:1字节/字母,2字节/汉字
字符数组:不包含空字符,占用字节数不需+1
char ch[6]= "China"; //6字节,ch[5]是\0 char ch[5]={'C','h','i','n','a'}; //5字节 char str[3][5] = { "Tom","John","Mary" };//3×5=15字节。定义变量就是划定内存
字符数组与数据数组区别:
字符数组输入\输出时,不需要循环遍历,cout对字符型指针变量做了特殊处理,具体如下
#include<iostream> using namespace std; int main() { char str[4] ="Tom";//3+1=4字节 char *p = str; //指向首地址 cout<<p<<endl; //Tom,全部输出,从首地址到最后的值。 cout << p + 1 << endl;//om,从第二个地址到最后的值。 cout << p[0]<<endl; //T,等效于*p cout << (int *)p << endl; //显示首地址 return 0; }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· 字符编码:从基础到乱码解决
· SpringCloud带你走进微服务的世界