A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© zzzzly 中级黑马   /  2016-5-10 23:12  /  796 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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 注意:地址的传递

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马