黑马程序员------------数组 二维数组

来源:互联网 发布:js获取元素内容 编辑:程序博客网 时间:2024/05/01 02:54

                        ------<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>数组作为形参时,会被当作指针使用

#includeint 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] = { {} , {} , {}, {}}

0 0