數(shù)組的指針和指向數(shù)組的指針變量.ppt

數(shù)組的指針和指向數(shù)組的指針變量.ppt

ID:48807319

大?。?10.50 KB

頁數(shù):20頁

時間:2020-01-27

數(shù)組的指針和指向數(shù)組的指針變量.ppt_第1頁
數(shù)組的指針和指向數(shù)組的指針變量.ppt_第2頁
數(shù)組的指針和指向數(shù)組的指針變量.ppt_第3頁
數(shù)組的指針和指向數(shù)組的指針變量.ppt_第4頁
數(shù)組的指針和指向數(shù)組的指針變量.ppt_第5頁
資源描述:

《數(shù)組的指針和指向數(shù)組的指針變量.ppt》由會員上傳分享,免費在線閱讀,更多相關內(nèi)容在行業(yè)資料-天天文庫。

1、第10章指針數(shù)組的指針和指向數(shù)組的指針變量字符串的指針和指向字符串的指針變量§10.3§10.410.2.3指針變量作為函數(shù)參數(shù)①主函數(shù)的實參,與函數(shù)中的形參均為指針變量,互相傳遞的是指針變量,屬“單向地址值傳遞”. 在被調(diào)函數(shù)中,如果改變的是變量,則影響主函數(shù)若改變的是指針,則不影響主函數(shù)②以前未用指針變量時,函數(shù)調(diào)用時,實參與形參彼此互不影響,只從被調(diào)函數(shù)返回一個值return59959abcxy例如例如③指針變量作函數(shù)參數(shù)時,主函數(shù)可以從被調(diào)函數(shù)得到多個返回值,函數(shù)可以不要return()語句了。方法:1.在主函數(shù)中設n個變量,用n個指針

2、變量指向它們2.然后將指針變量作為實參,將這n個變量的地址傳給被調(diào)函數(shù)的形參3.通過形參指針變量,改變這n個變量的值4.主函數(shù)中就可以使用這些改變了值的變量例子10.3.3數(shù)組名作函數(shù)參數(shù)數(shù)組名作為函數(shù)的實參和形參main(){intarray[10];……f(array,10);……}f(intarr[],intn){…}這種方式實際上是傳遞的數(shù)組的首地址。f(int*arr,intn)①數(shù)組元素作函數(shù)參數(shù),與一般變量相同,是“單向值傳遞”②數(shù)組名作函數(shù)參數(shù),是“單向地址傳遞”即實參數(shù)組與形參數(shù)組對應內(nèi)存中同一個數(shù)組,調(diào)用時實參將數(shù)組首地址傳

3、給形參。③數(shù)組名及指向數(shù)組的指針變量作函數(shù)參數(shù),其作用是一樣的。④數(shù)組名是可以即用的,而指針變量必須賦值后才能使用。⑤實參與形參有4種對應關系。例如10.3.43.多維數(shù)組的指針作函數(shù)參數(shù)例10.14有一個班,3個學生,各學4門課,計算總平均分數(shù),及第n個學生的成績。main(){voidaverage(float*p,intn);voidsearch(float(*p)[4],intn);floatscore[3][4]={{66,67,70,60},{80,87,90,81},{90,99,100,98}};average(*score,1

4、2);search(score,2);}voidaverage(float*p,intn){float*p_end;floatsum=0,aver;p_end=p+n-1;for(;p<=p_end;p++)sum=sum+(*p);aver=sum/n;printf("average=%5.2f",aver);}指向列的指針指向行的指針score[0]voidsearch(float(*p)[4],intn){inti;printf("thescoreofNo.%dare:",n);for(i=0;i<4;i++)printf("%d

5、5.2f",*(*(p+n)+i));}average=82.25thescoreofno.2are:99.00,99.00,100.00,98.0010.4.2字符串指針作函數(shù)參數(shù)10.4.2用函數(shù)調(diào)用實現(xiàn)字符串的復制用字符數(shù)組作函數(shù)參數(shù),用數(shù)組名做實參。例10.20復制字符串voidcopy_string(charfrom[],charto[]){inti=0;while(from[i]!='