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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© runsunlife 中级黑马   /  2015-8-16 16:15  /  372 人查看  /  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 个回复

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