Ps:将同种类型数据进行有序组织以便于管理
一、一维数组
类型说明符 数组名[ 常量表达式 ];
1. 数组在定义的时候,数组的大小一定要确定:
这样是错误的!
但在访问数组元素的时候可以是数值也可以是是表达式:
2. 初始化
3.以数组作为参数
注:关键字const指出所声明的输入参数,由于我们传递的是引用(地址),在函数体中修改该参数值时,原数组会随之改变,因此使用关键字const来限制数组不被其他函数所修改是一种很好的编程风格,能够防止意外修改的发生
4.函数返回数组的方法:
1)调用函数时,直接传的引用,函数结束后,结果自然而然就是处理后的数组
2) 让函数返回一个指针
二、多维数组(主要是二维)
1.从一维到二维
就是一维数组里的每个元素本身就是一个一维数组
2.二维数组的初始化
三、字符数组
1.字符数组的初始化
2.常用的几个字符串处理函数:
1)strlwr( ) 将字符串中出现的大写字符改写成小写形式,其它字符不变
extern char * strlwr( char * s );
返回值:指向字符串s的指针
2)strupr( )将字符串中出现的小写字符改写成大写形式,其他字符不变
extern char * strupr( char *s );
返回值;指向字符串s的指针
3) strcmp( )实现字符串的比较功能
extern strcmp(char * s1, char * s2 )
返回值:s1 > s2 返回值大于0 ,s1 = s2 返回值 为0, s1<s2 返回值小于0;
注意:不能简单地if(s1 == s2),必须要通过函数的调用才能实现字符串的比较
4)strlen()获得字符串长度j
extern int strlen(char * s );
5)将两个字符数组中的字符串连接起来
extern char * strcat(char *dest , char * src);
说明: 函数把指针src所指向的字符串添加到dest结尾处,覆盖dest结尾处的' \0 ',并在整个字符的末尾添加 '\0',src和dest所指内存区域不可重叠且dest必须要有足够的空间来容纳src的字符串。
返回值:返回一个指向dest的指针
6)strcpy( )字符复制函数
extern char * strcpy(char * dest , char * src)
说明:把指针src所指向的由'\0'结束的字符串复制到dest所指的字符数组中
返回值:指向dest的指针
strcpy(dest, "hello")也是可以的 dest要以数组名的形式出现,当src可以是字符数组名,也可以是一个字符串常量
7)strncpy( )
char * strncpy (char * dest, char * src, unsigned int n);
说明:
将字符串中最多n个字符复制到字符数组dest中,且在复制之前,dest都要被初始化为 ‘\0’,因为strncpy不会自动将' \0 '添加到目标字符串后面,才能保证答应成有意义的字符串
如果dest所指向的字符串的长度 > n > src所指向的字符串的长度 ,正常复制
如果n的长度小于src所指向的字符串的长度,则发生截断
如果n的长度大于dest所指向字符串的长度,会报错
返回值:dest的指针