数组是相同数据类型变量的结合
一维数组
一维数组内存是连续的,是所有元素之和
初始化
当数组元素都被初始化,可以省略大小 int n[] = {1,1,1,1,1,1}
部分初始化,其他系统自动产0 int n[5] = {1}
数组越界。数组元素小标超出数组范围 int n[5] = {} n[6] =3
一维数组,数组名的值,就是首地址
(插一点:随机数 Srand() 设置随机种子, rand(time(nullptr)); rand()%10(0~9))
二维数组
特性:内存大小,连续内存,并按行存储,所有元素之和
初始化和一维数组初始化相同,简单来说二维数组就是把每一行看成一维数组
二维数组(行数可省,列数不可省int n[][5] ={})
字符数组
char a[5] = {"a","b","c","d","e"}
c语言没有字符串的概念
// 初始化
char a[5] = "abc" 把字符中的每一个元素包括"/0"拷贝给,数组
下面是字符数组的错误示例:
a = "ccc" 常量不能复制
a[5] = "aaaaa" 是数组越界,a[5] 是char型
char a[5] = "aaaaa" 数组越界还有"/0"
相关函数
strcpy() 字符串拷贝
gets()
puts()
strcat() 连接字符串
strcmp() 比较字符串
atoi 数字字符串转数字,遇到非数字结束