字符型数据是以字符的ASCII码存储在存储单元中的,一般占一个字节。
1.如何定义字符数组
char s[100];
在字符数组中一个元素存放一个字符。
下面我们来说一下字符串处理函数的用法,在使用字符串处理函数如 gets puts strlen等,这些都是在头文件“#include<string.h>”里的,所以在使用之前必须调用这个头文件里的函数,即在开头写上这个头文件。
2.gets()函数----------输入字符串
gets(s);
gets函数的作用是从终端输入一个字符串到字符数组,并且得到一个函数值,该函数值是字符数组的起始地址。
例如
char s[10];
gets(s);
我们从键盘上输入:Computer
将输入的字符串“Computer"送给字符数组 s ,这里要注意,因为gets函数可以接受空格字符(“ ”)和回车(\n),所以这里送给数组的有9个字符,而不是8个。返回的函数值是字符数组s的第一个元素的地址。一般利用gets函数的目的是向字符数组输入一个字符串,而不关心其函数值的大小。
gets()函数每次只能输入一个字符串,()内只能写一个数组名。
这里要说明一下,当输入的字符串不需要接收空格时,可以使用scanf("%s",s)来输入字符串。
如果需要接收空格到不需要接收最后的结束字符,可以用 getchar()
3.puts()输出函数-------输出字符串
用法为
puts(s);
其作用是将一个字符串(以’\0’结束的字符序列)输出到终端,
因为puts函数输出时会将字符串结束标志’\0’自动转换成’\n’,所以puts输出完会自动换行。
4.strcat函数---------字符串连接函数
一般形式为 strcat(z字符数组1,字符数组2)
strcat是string catenate(字符串连接)的缩写,其作用是把两个字符数组中的字符串连接起来,把字符串2接到字符串1的后面,
字符数组1必须足够大,足以容纳连接后面的新字符串!
连接的两个字符串的后面都有结束符‘\0’,连接时将字符串1后面的‘\0’取消,只在新字符串后保留‘\0’。
5.strcpy和strncpy函数--------字符串复制函数
其一般形式为
strcpy(字符数组1,字符串2)
strcpy是string copy的缩写,表示字符串复制函数,作用是将字符串2复制到字符数组1中去。
a.字符数组1必须足够大,足以容纳后面的新字符串!
b.字符数组1必须携程数组名的形式,(如已经定义的字符数组s,str1),字符串2可以是字符数组名,也可以是一个字符串常量。
c.如果在复制前未对数组1进行初始化或者赋值,则数组1中各字节的内容是无法预知的,复制时将字符串2和其后的’\0’一起复制到字符数组1中,取代原有位置的内容。
未完。。。