C语言基础学习——数组

C语言基础学习——数组 一维数组、二维数组整型、字符型注意:1.数组也是一种数据类型2.用于解决大量变量定义问题3.数组是有序数据的集合4.数据解决的数据的特点——同一类型一、一维数组定义方式类型说明符 数组名 [常量表达式];1、类型说明符用于说明数组中变量的类型 //int float char2、数组名为标识符代表一组变量的集合命名规则和变量名规则一致3、常量表达式[] //表示定义的是一个数组常量表达式 //数组的长度--数组中变量数组元素的个数注意常量表达式为整型C99之后可以为变量可变长数组命名int n; scanf(%d,n); int a[n]; //注意不能初始化数组定义本质是定义了多个变量数组元素的引用语法数组名[下标]; //此处[]是一个运算符此处[ ]是一个运算符---下标运算符数据就是通过下标访问每个变量的eg:a[下标] //下标取值范围[0,数组长度-1]注意1.数组空间的大小n*sizeof类型2.数组运算一种数据类型egint a[10]; //判断一个标识符的数据类型---去掉标识符剩下的就是标识符对应的类型int [10] //数组类型---表示10个int型的数组3.数组名代表数组对应的数据类型就是数组类型4.数组的特点a连续性 //一片连续空间b单一性 //数组中存放的是同一类型的数据c有序性 //第一个数据后就是第二个数据0x7ffc30194190:a[0] 1 0x7ffc30194194:a[1] 2 0x7ffc30194198:a[2] 3 0x7ffc3019419c:a[3] 4 0x7ffc301941a0:a[4] 5 0x7ffc301941a4:a[5] 6 0x7ffc301941a8:a[6] 7 0x7ffc301941ac:a[7] 8 0x7ffc301941b0:a[8] 9 0x7ffc301941b4:a[9] 105.数组名类型角度数组名代表了对应的数据类型数值角度数组名代表数据首元素的地址6.下标相对于首元素的偏移量取值范围[0,数组长度-1]下标不在合法范围表示数组越界数组越界编译器不会报错需要自己小心7.数组不能整体赋值错误写法int a[10];a{1,2,3,4,5,6,7,8,9,10};数组的初始化和赋值初始化1、全部初始化int a[10] {1,2,3,4,5,6,7,8,9,10};2、部分初始化int a[10] {1,2,3,4,5};依次给前面的元素后面为初始化的元素默认为03、不初始化int a[10];数组中是随机值(垃圾值)4、初始化为0int a[10]{}; //{}初始化器---表示进行初始化默认给0int a[10]{0}5.初始化时数组长度可以忽略 //长度可以忽略但是必须要有对应初始化的值eg:int a[]{1,2,3,4} //数组最终长度---初始化值的个数来决定赋值int a[10]a[0] 2; //如果都给可以使用for循环键盘输入int a[10]; for(int i0;i10;i) { scanf(%d,a[i]); }