C复习笔记(字符数组)

来源:互联网 发布:域名网站平台 编辑:程序博客网 时间:2024/06/05 05:47

一、字符数组的逐个处理:

1、由于字符型与整型是可以互相通用的,因此可以用整型数组来存放字符数据,不过很浪费空间(整型数组不能使用字符数组的特有初始化方式int a[]="I am happy"(error);同时不能使用字符数组特有的输出方式)

2、逐个初始化与整体初始化的不同

char a[]="AB";//此时数组的长度为3

char a[]={'A','B'};//此时数组的长度为2

二、字符数组的整体处理:

1、空格与‘\0’字符不一样,‘\0’的ASCII码为0,表示空操作,即什么都不做,空格是个可打印的字符,其对应的ASCII码为32

2、为了方便对字符数组的一致管理,对字符数组进行逐个赋值的时候,在字符串的最后要加上‘\0’

3、‘\0’用于字符数组的覆盖:覆盖原来的字符数组内容的时候,输入新字符的时候要加上‘\0’,若不这样做,则原来字符串未被覆盖部分仍然是可以打印出来的

4、字符串的整体输入:

如果利用scanf函数输入多个字符串,则输入时以空格分隔

scanf("%s,%s,%s",a,b,c);

三、通用字符串处理函数:

puts(str);//输出

gets(str);//实现输入

strcat(str1,str2);//字符串串接

strcpy(str1,str2);//复制字符串

strncpy(str1,str2);//复制字符串前n个字符

strupr(str);//使字符变为大写

strlwr(str);//使字符变为小写

strlen(str);//输出字符串长度

strcmp(str1,str2);//比较字符串

四、字符数组和指针:

1、字符指针不是字符串变量,而是将字符数组首地址赋给指针变量

2、C语言将字符串常量按照字符数组处理

3、数组可以在定义时整体赋值,但不能在赋值语句中整体赋值

char [10]; str="I love China";(错误,由于str是地址常量)

char *str; str="I love China";(正确)

原创粉丝点击