- gf25051 的博客
《咸鱼概要 · C++》字符数组(含ASCLL表)
- @ 2025-8-14 19:57:28
1.字符数组的概念
字符数组是指用来存放字符型数据的数组,每个元素内存放一个字符
注:字符型数据是以字符的ASCII代码存储在代码单元格中的,一般占一个字节。由于ASCII代码也属于整数形式,所以一些系统中,把字符类型归纳为整形类型中的一种

2.字符数组的使用
(1)定义字符数组
char a[100];//定义一个一维的字符数组
char b[100][50];//定义一个二维的字符数组
(2)字符数组赋值
char a[100][50];
a='100';//直接赋值,没有明确目标,错误❌
char a[100][50];
a[3][5]='60';//明确给a的第三行第五列赋值,正确✔
char a[100][50];
for(int i=1;i<=100;i++){//控制列数
for(int i=1;i<=50;i++){//控制行数
a[i][j]='1';//使用双循环依次赋值,正确✔
}
}
注:字符数组只能给它赋值字符类型的
(3)字符数组输入
char a[100][50];
cin>>a;//直接输入,没有明确目标,错误❌
char a[100][50];
cin>>a[3][5];//明确给a的第三行第五列输入,正确✔
char a[100][50];
for(int i=1;i<=100;i++){//控制列数
for(int i=1;i<=50;i++){//控制行数
cin>>a[i][j];//使用双循环依次输入,正确✔
}
}
(4)字符数组输出
char a[100][50]={'1'},{'4'};
cout<<a;//直接输出,没有明确目标,错误❌
char a[100][50]={'1'},{'4'};
cout<<a[3][5];//明确给a的第三行第五列输出,正确✔
char a[100][50]={'1'},{'4'};
for(int i=1;i<=100;i++){//控制列数
for(int i=1;i<=50;i++){//控制行数
cout<<a[i][j];//使用双循环依次输出,正确✔
}
}
(5)字符数组的计算
char a[5];
a[1]='1';//将a[1]设为'1'
a[2]='1';//将a[2]设为'1'
cout<<int(a[1])+int(a[2]);//此时不会输出2,而是会输出98,因为'1'的ASCLL值为49,49+49就等于98了