主函數(shù)
定義整型數(shù)組和指針,并使指針指向數(shù)組a
循環(huán)
將變量i的值賦給由指針pa指向的a[]的數(shù)組單元
用指針輸出數(shù)組a中的所有元素,同時(shí)指針pa指向a[]的下一個(gè)單元
......
......
數(shù)組名和數(shù)組指針變量作函數(shù)參數(shù)
在第五章中曾經(jīng)介紹過(guò)用數(shù)組名作函數(shù)的實(shí)參和形參的問題。在學(xué)習(xí)指針變量之后就更容易理解這個(gè)問題了。 數(shù)組名就是數(shù)組的首地址,實(shí)參向形參傳送數(shù)組名實(shí)際上就是傳送數(shù)組的地址, 形參得到該地址后也指向同一數(shù)組。 這就好象同一件物品有兩個(gè)彼此不同的名稱一樣。同樣,指針變量的值也是地址, 數(shù)組指針變量的值即為數(shù)組的首地址,當(dāng)然也可作為函數(shù)的參數(shù)使用。
float aver(float *pa);
main(){
float sco[5],av,*sp;
int i;
sp=sco;
printf("\ninput 5 scores:\n");
for(i=0;i<5;i++) scanf("%f",&sco[i]);
av=aver(sp);
printf("average score is %5.2f",av);
}
float aver(float *pa)
{
int i;
float av,s=0;
for(i=0;i<5;i++) s=s+*pa++;
av=s/5;
return av;
}
指向多維數(shù)組的指針變量
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |