理論上來說
成都創(chuàng)新互聯(lián)公司企業(yè)建站,10多年網(wǎng)站建設(shè)經(jīng)驗,專注于網(wǎng)站建設(shè)技術(shù),精于網(wǎng)頁設(shè)計,有多年建站和網(wǎng)站代運營經(jīng)驗,設(shè)計師為客戶打造網(wǎng)絡(luò)企業(yè)風(fēng)格,提供周到的建站售前咨詢和貼心的售后服務(wù)。對于做網(wǎng)站、網(wǎng)站設(shè)計中不同領(lǐng)域進行深入了解和探索,創(chuàng)新互聯(lián)在網(wǎng)站建設(shè)中充分了解客戶行業(yè)的需求,以靈動的思維在網(wǎng)頁中充分展現(xiàn),通過對客戶行業(yè)精準市場調(diào)研,為客戶提供的解決方案。
自定義函數(shù)可以不需要使用
所有過程
都寫在主函數(shù)里面也可以的。
但是,實際上
1
如果同樣的功能需要被多次使用。
比如,要在程序不同時間對數(shù)組進行排序。
那么每個排序點,把排序算法實現(xiàn)一遍,明顯是白費勁的。
這時定義一個排序函數(shù)就會很好看了。
2
當功能較多,同時代碼量比較大的時候
按照功能抽象出一個個函數(shù),這樣無論是代碼閱讀
還是維護
都會省力很多。
想象一下,如果一個程序中
有一千個函數(shù)(其實并不算多)
每個函數(shù)中定義三個局部變量。
那么要都寫在主函數(shù)里面,就要定義3000個局部變量,管理,維護這些局部變量
甚至給他們想個不重復(fù)的名字
就已經(jīng)足夠讓人崩潰了
不可以,即使主函數(shù)中也不可以,C語言只允許在函數(shù)中聲明和嵌套調(diào)用。
C語言中是不允許作嵌套的函數(shù)定義。因此程序中各個函數(shù)之間是平行的,不存在上一級函數(shù)和下一級函數(shù)的問題,這樣是為了簡化C語言編譯器的邏輯性。
可以在函數(shù)中聲明函數(shù)(嵌套聲明),但是不能在函數(shù)中定義函數(shù)(嵌套定義)。
p.s.:有些編譯器允許嵌套定義,但是最好不要嵌套定義,因為C標準規(guī)定不能嵌套定義。
1使用函數(shù)后,編程可以更加的模塊化,以后使用的時候,可以直接拿過來用。
2問題描述更加簡潔清晰。
3程序沒有大段不易理解的東西
//C語中定義函數(shù),是完成某項特定的功能,知道它完成的功能就可以使用它,體現(xiàn)了它的模塊化的特點.例如我們平常學(xué)的輸出就是一個函數(shù),只不過是系統(tǒng)定義好的
只要我想輸出某個東西,我就可以調(diào)用printf來完成相應(yīng)的功能.
例如:main()
{ int a,b,c;
scanf("%d,%d",a,b);
c=max(a,b);
printf("Max is %d",c);
}
int max(int x, int y)//這 個就是我們定義的函數(shù),這個函數(shù)是求兩個數(shù)的最大值.形參x,y本身都是沒有值,什么時候有值呢,是我們調(diào)用的時候,c=max(a,b),它的意思把a給x,b給y.
{ int z;
z=xy?x:y;
return(z);
}
文章標題:關(guān)于c語言中要不要定義函數(shù)的信息
分享鏈接:http://muchs.cn/article20/docdsco.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開發(fā)、ChatGPT、用戶體驗、移動網(wǎng)站建設(shè)、動態(tài)網(wǎng)站、網(wǎng)站設(shè)計
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)