1.注意点
以数组形式存储,末尾加一个’\0’结束符,如果没有会出现字符越界问题
2.初始化
char c[10]={'c','','p','r','o','g','r','a','m'}
//也可以省去长度进行赋值,此时长度自动定为9
char c[]={'c','','p','r','o','g','r','a','m'}
char buf[100]={'a'};//剩下的未定义的都是0
//也可以使用字符串的方式进行赋值,这里可以看到
//使用字符串直接赋值字符数组长度是没有声明的
//因为最后c编译系统会自动加上一个'\0'
char c[]={"c program"};
char c[]="c program";
3.输入输出
(1).逐个输入输出,"%c"
(2).整个字符串一次输入输出,"%s"。
要注意的是
- 如果只是个简单的字符数组,那么可以存在char a[4]={‘a’,‘b’,‘c’,‘d’}这样满的情况,但是若要用%s进行输出,作为字符串表示,那么字符数组就要留最后一位给’\0’,表示字符串结束,即char a[4]={‘a’,‘b’,‘c’,’\0’}。
- 用scanf函数输入字符串的时候,字符串不能含有空格,否则将以空格作为串的结束符
- 不可以用赋值语句给字符数组名赋字符串,只能初始化的时候这样做