C语言中没有字符串类型,也没有字符串变量,字符串是存放在字符型数组中的。

1 。定义字符数组
用来存放字符数据的数组是字符数组。在字符数组中的一个元素内存放一个字符。
定义字符数组的方法与定义数值型数组的方法类似。例如:
char c[10];
c[0]='I';c[1]='';[2]='a'; c[3]='m';c[4]='';c[5]='h';c[6]='a';e[7]='p';c[8]='p';c[9]='y';

以上定义了c为字符数组,包含10个元素。

2.字符数组的初始化
对字符数组初始化,最容易理解的方式是用“初始化列表”,把各个字符依次短给数组各元素。

例如:
char c[10]=('I','','a','m','','h','a','p’,'p','y');
把10个字符依次赋给c[0]~c[9]这10个元素。
如果在定义字符数组时不进行初始化,则数组中各元素的值是不可预料的。如果花号中提供的初值个数(即字符个数)大于数组长度,则出现语法错误。如果初值个数小于数组长度,则只将这些字符赋给数组中前面那些元素,其余的元素自动定为空字符(即’\0),例如:
char c[10]=('c','','p','r','o',' g','r','a','m');

3.字符串和字符串结束标志

C语言规定了一个“字符串结束标志”,以字符’\0'作为结束标志。如果字符数组中存有着干字符,前面9个字符都不是空字符('\0'),而第10个字符是‘\0',则认为数组中有一个字符串,其有效字符为9个。也就是说,在遇到字符\0'时,表示字符串结束,把它前面的字符组成一个字符串。
注意:C系统在用字符数组存储字符串常量时会自动加一个’\0'作为结束符。例如”C program”共有9个字符。字符串是存放在一维数组中的,在数组中它占10个字节,最后一个字节‘\0'是由系统自动加上的。

5 .字符数组的输入输出
字符数组的输入输出可以有两种方法。
(1)逐个字符输入输出。用格式符“%c”输入或输出一个字符。

(2)将整个字符串一次输入或输出用“%s”格式符,意思是对字符串(string)的能输出。

例如:
          char c]=("China”);
          printf("%s\n”,c);

在内存中数组c的存储情况为    

C

h

i

n

a

\0

输出时,遇结束符\0'就停止输出。输出结果为   China

6.使用字符串处理函数

puts函数——输出字符串的函数

gets函数——输入字符串的函数

strcat函数——字符串连接函数                           strcat(字符数组1,字符数组2)

strcpy和strncpy函数——字符串复制函数           strcpy(字符数组1,字符串2)

strcmp函数——字符串比较函数                         strcmp(字符串1,字符串2)

strlen函数——测字符串长度的函数                    strlrn(字符数组)

strlwr函数——转换成小写的函数                        strlwr(字符串)

strupr函数——转换成大写的函数                        strupr(字符串)