数组解释一组具有相同数据类型的数据集合(会再内存中分配连续的地址)
一维数组
定义格式:
类型名 数组名[整型常量表达式];
例如int a[10]
定义了一个一维数组a,数组中有10个整型数据元素
说明:
- 定义数组时,需要指明数组的数据类型
- 常量表达式可以是整型常量、整型常量表达式或者符号常量,但不能是变量
引用:定义数组后,可以将每一个数组元素作为变量使用
语法格式:`数组名[下标表达式]
说明:
- 每一个数组元素实质上就是一个变量
- 数组不可整体引用
- 引用数组元素时,下标表达式必须是整数
- 定义数组和引用数组元素的写法相似,但含义不同,注意区分。例如
float f[10]; t=f[9]
/*定义了数组f,将f[9]的值赋给了t */
初始化:
- 数组全部元素初始化 例如:int a[4]={1,2,3,4,};
- 数组部分元素初始化(没有被初始化的元素由编译程序自动将其初始化)例如:int a[10]={1,2,3,4]
- 全部元素初始化,可以不指定元素个数。例如:int a[]={1,2,3,4}
- 数组全部元素初始化为0。例如:int a[[10]={0};
注:数组元素调用时,C语言不会自动检查数组下标是否超出了数组的范围
二维数组
可以看作是一种特殊的一维数组,每个数组元素又是一个一维数组
定义格式:数据类型 数据名[常量表达式1] [常量表达式2] ;例如:int a[3][4]
引用
语法格式: 数组名 [下标表达式1] [下标表达式2 ];例如int a[3][4];
说明:
- 下标表达式必须时整数表达式(下标是从0开始的)
- 2个下标分别放在2个方括号中
- 下标不能超出数组的大小
初始化
- 数组全部元素初始化。例如:int a[2][2]={{1,2},{3,4}};或int a[2][2]={1,2,3,4}
- 数组部分元素初始化(没有被赋值的元素由编译程序自动初始化为0)例如:int [3][4]={{0},{1},{2}}
- 如果对全部元素都赋值,则定义第一维的长度可以不指定。例如:int a[][2]={1,2,3,4,}
字符数组
定义:char 数组名[整型常量表达式];例如:char s[100];
初始化
- 使用字符常量初始化字符组。例如:
char s[100]={'h','e','l','l','o'};
- 使用字符串常量初始化字符组。例如:
char s[]={"hello"}
(编译程序会自动在最后一个字符的后面加上’\0’
输入输出
- 逐个字符输入输出。用“%c”
- 利用格式符“%s”整体输入输出字符串
字符串处理函数 string.h
strcpy:字符串拷贝函数
语法格式: strcpy (字符数组1,字符数组2)
将字符串2完整的复制到字符数组1中,字符数组1中原有内容被覆盖
strcat:字符串连接函数
语法格式: srcat (字符数组1,字符串2)
把字符串2连接到字符数组1中的字符串尾端
注
- 字符串2可以是字符串常量,也可以是字符数组
- 字符串数组1必须定义的足够大,以便容纳连接后的新字符串
strcmp:字符串比较函数
语法格式:strcmp(字符串1,字符串2)
比较两个字符串。将两个字符串从左到右逐个字符比较(即比较字符的ASCII码值)直到2个字符串中字符不同或遇到’\0’为止。如果2个字符串中全部字符相同,函数返回值为0;如果出现第1对不同字符,字符串1<字符串2,函数返回值为负整数;字符串1>字符串2,函数返回值为正整数。
strlen:求字符串长度
语法格式:strlen(字符串)
计算字符串的长度(即字符串中’\0’前字符的个数)
注:函数参数可以是字符串常量,也可以是字符数组名0
来源:CSDN
作者:我就是个普通人
链接:https://blog.csdn.net/weixin_45814435/article/details/104039529