数组
一维数组
不能在方括号中用变量来表示元素的个数,但是可以使符号常数或常量表达式。例如:
#define FD 5
int a[3+2],b[7+FD];//是合法的
二维数组
如果对全部元素赋初值,第一维的长度可以不给出。
int a[3][3] = {1,2,3,4,5,6,7,8,9};
int a[][3]={1,2,3,4,5,6,7,8,9};
字符数组
char c[]={'c',' ','p','r','o','g','r','a','m' };
char c[]="c program";//字符串比上面的方式实际多占一个字节
字符数组的输入输出
char c[]="BASIC\ndBASE";
printf("%s\n",c);//因为是%s,所以不能写为c[]
char st[15];
scanf("%s",st);//输入的字符串长度必须小于15,不能有空格,否则将以空格作为串的结束符
printf("%s\n",st);
在输入的时,不需要再加&符号,因为数组名字就代表地址
字符串处理函数
字符串处理函数必须包含"string.h"
puts
格式:puts(字符数组名)
功能:输出字符串
一般可由printf函数代替
gets
格式:gets(字符数组名)
功能:从键盘上输入一个字符串
gets函数不以空格为输入结束的标志,只以回车为输入结束
strcat
格式:strcat(字符数组名1,字符数组名2)
功能:将字符数组2中的字符串连接到字符数组1后面去,并删去字符串1后面的“\0”。
strcpy
格式: strcpy(字符数组名1,字符数组名2)
功能:把字符数组2的字符串拷贝到字符数组1中
strcmp
格式:strcmp(字符数组名1,字符数组名2)
功能:按照ASCII码比较两个数组的字符串
strlen
格式:strlen(字符数组名)
功能:测字符串实际长度(不包含结束标志)