●陣列元素做主調函式實參:
單向傳遞普通變數的值,被調函式用同類型普通變數做形參。
例1:兩個陣列大小比較。
分析:main函式需要完成的功能:
①兩個陣列的輸入;
②定義三個計數器,分別計數a陣列大於b陣列的次數、相等的次數和小於的次數;
④輸出統計結果。
●地址傳遞方式:單向傳遞陣列元素地址,用同類型的陣列名接收。
﹥主調函式與被調函式分別定義陣列,且型別應一致
◆形引數組名是地址變數
◆形引數組大小(多位陣列第一維)可不指定
8.4.3例子
例1:陣列元素與陣列名做函式引數比較
-----用函式換兩個變數的值
#include<stdio.h>
void swap2(int x, int y)
{ int z;
z=x;x=y;y=z;
}
void main()
{ int a[2]={1,2}
swap2(a[0],a[1]);
printf("a[0]=%d\na[1]=%d\n",a[0],a[1]);
}
例2:求二維陣列中最大元素值
int max_value(int array[3][4]) //多維形引數組第一維數可省略,第二維必須相同 (等價於
int array[][4])
{ int i,j,k,max;
max=array[0][0];
for(i=0;j<4;j++)
for(j=0;j<4;j++)
if(array[i][j]>max)
max=array[i][j];
return (max);
}
void main()
{ int a[3][4]={1,3,5,7},{2,4,6,8},{15,17,34,12}};
printf(“max value is %d\n”,max_value(a));
}
最新評論