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了