标签:
1. 数组定义时必须指定元素的个数,可以是常量和符号常量,但是不能包含变量
如 int n;
scanf("%d",&a);
int a[n];
是不合法的。
ps:如果在被调用的函数中定义数组,其长度可以是变量或者非常表达式。
2. 字符数组
赋值:char c[10]={‘I‘,‘ ‘,‘a‘,‘m‘}
一定要用‘‘括起来,当处置个数小雨数组长度时后面的元素自动定为空字符(‘\0‘)。
也可以用整型数组存放(ASCII码):
如 int c[10];
c[0]=‘a‘;
3. 字符串
字符串常量的最后会由系统自动加一个‘\0‘
char c[]="I am happy" 等价于 char c[]={‘I‘,‘ ‘,‘a‘,‘m‘,‘ ‘,‘h‘,‘a‘,‘p‘,‘p‘,‘y‘,‘\0‘}。 此时,数组C的长度是11而不是10。
字符串的输入输出:
a. 逐个字符输入输出。用"%c"输入输出一个字符;
b. 将整个字符串一次输入或输出。用"%s"表示。char c[10]; scanf("%s",c); c前不加地址符号,因为c是字符数组名,代表的就是该数组的起始地址。
4. 字符串处理函数
a. puts函数
puts(str); 按字符数组名str找到数组起始地址,逐个输出其中的字符知道遇见‘\0‘为止。字符串中可以包含空格和转义字符。
b. gets函数
gets(str);想字符串组输入一个字符串,字符串中可以包含空格。
c. strcat函数
strcat(str1,str2); 把字符串2接到字符串1后面,结果放在字符串数组1中。
d. strcopy和strncpy函数
strcopy(str1,str2); 将字符串2复制到字符数组1中去。字符数组1必须足够大,而且必须写成数组名形式;字符串2可以是数组名也可以是字符串常量。
strncpy(str1,str2,n); 将字符串2中前n个字符复制到字符数组1中去。
e. strcmp函数
strcmp(str1,str2); 将两个字符串自左至右逐个字符相比(ASCII码值大小),直到出现不同的字符或遇到‘\0‘为止。如果相同返回0;str1>str2,返回一个正数;str1<str2,返回一个负数。
f. strlen函数
char str[10]={"china"};strlen(str);结果是5。测试字符串长度(不包括‘\0‘在内)。也可以直接写成strlen("china")。
g. strlwr函数----转换为小写的函数;
strupr函数----转换为大写的函数。
ps:在调用字符串函数之前要加载#include<string.h>。
标签:
原文地址:http://www.cnblogs.com/singlebutterfly/p/4253297.html