1、一维数组的定义
数组的使用的流程:先定义 ---> 初始化 --->使用
数组定义完成后,如果不初始化里面存放的值是垃圾值
格式:int arr[10]; 定义长度为10的整型数组,每个都是int型的,数组的名称 arr
1) 定义变量的同时,可以定义数组 int a[10],b,c;
2) int a1[3+2]; // 数组的角标可以使用常量表达式
3) int n=5; int a2[n]; //其他编译器定义数组的时候,数组长度不能使用变量,但是xcode做了优化,这是可以的
4)#define N 5 int a3[N+3];
5) int a4; int a4[10]; 数组的名称不能和变量名重名 6)数组名的命名原则严格遵守标示符命名原则
2、数组的初始化和使用
数组中,一旦有一个元素被初始化了,其他元素也都被初始化了
1)定义的时候初始化
(1) 完全初始化(数组的每一个元素都被初始化了)
int a[3]={2,3,4}; //完全初始化 a[0]=2,a[1]=3,a[2]=4
不指定数组长度的完全初始化
int a1[]={2,3,34,4}; //定义int型数组a1,初始化值为2,3,34,4,根据初始化的值,确定数组的长度
(2)部分初始化(只指定数组的一部分初始化值)
int a2[10]={0} //相当于有a2所有的元素都初始化为0
int a3[5]={1,2,3}; // 指定下标的数组元素的初始化
int a4[6]={[3]=100,[0]=23}; //a[3]=100,a[0]=23;没有初始化的值,系统自动初始化为0
2)先定义,后初始化
int a5[3]; a5[0]=1; a5[1]=2; a5[2]=3;
3)数组的引用
int a[n]; 下标的范围:0 ~ (n-1)
3、数组的存储方式
数组在内存中是如何存储的?
1)数组在内存中分配的存储空间是连续的
2)数组名存放的是数组的首地址
3)数组的第一个元素存放到数组内存的低地址(首地址)
4)首地址 = &a[0] = a
4、如何计算数组的长度
1)int a[5];
2)int a[]={1,2,3,34,6,6,67};
sizeof(a) 数组占用总得存储空间
sizeof(a)/sizeof(int) 计算数组的元素的个数(长度)
5、数组和函数之间的关系
1) 数组的元素作为函数的参数(实参)
int a[3]={1,2,3};
int sum(int x,int y){
return x+y; }
sum(a[0],a[1]);
注意:值传递
2)数组名作为函数的参数(实参)
void sum(int s[]){
}
sum(a); // int s[]; s=a; s存放了a得地址 // 相当于s和a都指向了同一块内存区域
// 操作s等同于操作a 注意:地址的传递 |
|