------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------
1.数组的格式
元素类型 数组名[元素个数] int ages[3];
2.数组的初始化
1>int b[3];
b[0] = 10;
b[1] = 23;
b[3] = 43;
2>int a[3] = {10 , 23 , 42};
3>int c[] = {10 , 23 , 42];
4>int d[5] = {12 , 21 , 23 ];这种形式只是给这个数组的前三个元素赋值。
5>int e[5] = {e[3] = 23 , e[4] = 24 };这种形式给后数组最后面两个元素赋值。
6>int a=5;
int ages[a] ;
ages[0] = 1;
ages[1] =2;
ages[2] = 3;这种形式可以 ,但是无法确定后面两元素的值。
3 .错误写法
int a[];这种写法无法分配存储空间;
int b[5];
b={ 1 , 2 , 3 , 4 , 5};只能在定义数组的同时进行初始化;
4 .数组内存分析
存储空间的划分,内存的分配是从高到低进行的,但每一个元素内部元素又是从低到高进行的。
5 .数组的其他应用
数组作为参数传递时 ,传递的是整个数组的地址,修改函数形参时会影响外面的实参。
#include
void change (int array[])
{
array [0] = 100;
}
int main()
{
int ages[6]= {10 , 11 , 23 , 34 , 43 , 56};
change(ages);
printf("%d\n",ages[0]) ;
return 0;
}
这个程序输出结果是100.
2>数组作为形参时,会被当作指针使用
#include
int arryMax (int a[] , int count);
int main ()
{ int ages [] = {10 , 23 , 43 , 45 , 56 ,76 };
int temp = arryMax ( ages , sizeof(ages)/sizeof(int));
printf ("最大值为%d\n",temp);
return 0 ;
}
int arryMax (int a[] , int count )
{
int temp = a[0];
for (int i = 0 ; i < count ; i++)
{
if (a[i+1] > a[i])
{
temp = a[i+1] ;
}
}
return temp ;
}
二 维数组
初始化 int a[3][4] = { {} , {} , {}, {}}