目录
一、字符串本质
字符串是一种以“\0”结尾的字符数组
二、一维字符数组
1、定义
- char c[5];通常放一个字符串
2、初始化
- char c[5]={'C','H'} 部分赋值时,其他默认‘\0’
- 全部赋值时,长度可省略
- 字符串常量:char c[6]="china"; 下标不能是5,还需要留有\0的位置
3、字符数组元素赋值
- 初始化
- 逐个字符赋值
- 用循环赋值
- for (i=0;i<5;i++) c[i]=getchar(); scanf("%c",&c[i]);
- scanf("%s",c); c是数组名=首地址,所以不需要&
- 字符之间的分隔符是:空白
4、举例
- 求字符串长高度:char c[10]={"abc"};
- 长度:3
- 占内存字节数:4
- 数组占内存字节数:10
三、二维字符数组
1、定义
- char c[3][4]; 通常存放多个字符串,行数是字符串个数
2、初始化
- char a[ ][3]={ {'a','b','c'},{'d','e','f'}} 6个字符
- char c[3][4]={ “ab” ," cd “," ef ” }; 3个字符串
3、二维数组赋值
- 初始化
- 循环赋值
- char c[3][10]; for(i=0;i<3;i++) scanf("%s",c[i]);
4、举例
- 输出二维字符数组 ·去······························································
#include<stdio.h> int main() { int i,j; char a[][6]={"basic","BASIC"}; /* 输出方式1 for(i=0;i<2;i++) { for(j=0;j<6;j++) putchar(a[i][j]); putchar('\n'); }*/ //输出方式2 for(i=0;i<2;i++) printf("%s\n",a[i