概念:把具有相同类型的若干变量按有序的形式组织起来,这些按序排列的同类数据元素的集合称为数组 1.一维数组:数组的每个元素都不是一个数组 定义格式:数组类型 数组名 [数组长度] 1)数组长度可以是常量或者常量表达式 2)数组名不能和其他变量同名 3)数组的长度不可以为一个变量,xcode已优化 4)可以使用宏定义 5)定义数组的时候可以同时定义普通变量 int x,y,a[4]; 2.一维数组的初始化 1)定义的同时进行初始化,部分初始化 int a[4]={1,2,3,4}; int a[]={1,2,3,4};//数组的长度根据后面的值的个数决定 int a[4]={1,2}; int a[4]={[3]=4,[8]=34};//给下标是3和8的元素赋值 2)先定义后初始化 3)使用变量定义的数组不可以定义数组的同时对数组进行初始化 3.如果数组没有进行初始化,这时候数组元素是随机的垃圾值 如果进行了部分初始化,没初始化的那部分元素也自动被系统初始化为0了 对于字符数组来说,没有初始化的那部分元素也被系统初始化为0了 先定义后初始化的方式,如果部分元素被初始化了,系统不会对没有初始化的那部分元素进行初始化 4.一维数组的引用(访问) a[0]...a[n-1] 5.一维数组的存储方式 1)连续的存储空间 2)数组名代表数组的首地址 3)每个元素的长度一样 4)数组中元素之间的地址是连续的 5)数组名是一个常量,存储的是数组的首地址 6.一维数组长度的计算方法 sizeof(数组名);//字节数 sizeof(数组名)/sizeof(数组元素类型);//数组长度 7.数组元素作为函数参数,实参和形参指向同样的地址空间,修改形参数组元素的值,实参的值也会改变 数组名作为函数参数后,数组的长度信息会丢失,sizeof(arr)变成8,地址占8个字节
|