函數(shù)的本質(zhì)

1.程序=數(shù)據(jù)+算法;C語言=數(shù)據(jù)+函數(shù);模塊化程序設計;

目前創(chuàng)新互聯(lián)已為近1000家的企業(yè)提供了網(wǎng)站建設、域名、虛擬空間、網(wǎng)站托管、企業(yè)網(wǎng)站設計、文圣網(wǎng)站維護等服務,公司將堅持客戶導向、應用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。

2.面向過程是一種以過程為中心的編程思想

3.首先將復雜的問題分解為一個個容易解決的問題

4.分解過后的問題可以按照步驟一步步完成

5.函數(shù)是面向過程在C語言中的體現(xiàn)

6.解決問題的每個步驟可以用函數(shù)來實現(xiàn)

7.程序中的聲明可以理解為預先告訴編譯器實體的存在,如:變量,函數(shù),等等

8.程序中的定義明確指示編譯器實體的意義

聲明和定義并不相同

extern int a;//聲明是其他文件的變量,不需要分配空間
int a=10;//定義,分配一個空間

9.函數(shù)參數(shù)在本質(zhì)上與局部變量相同,都是在棧上分配空間

10.函數(shù)參數(shù)的初始值是函數(shù)調(diào)用時的實參值

11.函數(shù)參數(shù)的求值順序依賴于編譯器的實現(xiàn),C語言中大多數(shù)運算符對其操作數(shù)求值的順序都是依賴于編譯器的實現(xiàn)的?。?!

12.程序中存在一定的順序點

13.順序點指的是執(zhí)行過程中修改變量值的最晚時刻

14.在程序達到順序點的時候,之前所做的一切操作必須反映到后續(xù)的訪問中

15.每個完整表達式結束時

16.&&,||,?;以及逗號表達式的每個運算對象計算之后

17.函數(shù)調(diào)用中對所有實際參數(shù)的求值完成之后(進入函數(shù)體之前)

18.C語言會默認沒有類型的函數(shù)參數(shù)為int

19.C語言中可以定義參數(shù)可變的函數(shù)

20.參數(shù)可變函數(shù)的實現(xiàn)依賴于stdarg.h頭文件

21.va_list變量與va_start,va_end和va_arg配合使用能夠訪問參數(shù)值

22.可變參數(shù)必須從頭到尾按照順序逐個訪問

23.參數(shù)列表中至少要存在一個確定的命令參數(shù)

24.可變參數(shù)宏無法判斷實際存在的參數(shù)的數(shù)量

25.可變參數(shù)宏無法判斷參數(shù)的實際類型

26.va_arg中如果指定了錯誤的類型,那么結果是不可預測的

27.宏是由預處理器直接替換展開的,編譯器不知道宏的存在

28.函數(shù)是由編譯器直接編譯的實體,調(diào)用行為有編譯器決定

29.多次使用宏會導致程序代碼量增加

30.函數(shù)是跳轉執(zhí)行的,因此代碼量不會增加

31.宏的效率比函數(shù)要高,因為是直接展開,無調(diào)用開銷

32.函數(shù)調(diào)用時會創(chuàng)建活動記錄,效率不如宏

33.宏的效率比函數(shù)稍高,但是其副作用巨大,容易出錯

34.函數(shù)存在實參到形參的傳遞,因此無任何副作用,但是函數(shù)需要建立活動形象,效率受影響

35.宏參數(shù)可以是任何C語言實體,宏編寫的_MIN_參數(shù)類型可以是int,float等等,宏的參數(shù)可以是類型名。

36.活動記錄是函數(shù)調(diào)用時用于記錄一系列相關信息的記錄

臨時變量域:用來存放臨時變量的值,如K++的中間結果

局部變量域:用來存放函數(shù)本次執(zhí)行中的局部變量

機器狀態(tài)域:用來保存調(diào)用函數(shù)之前有關機器狀態(tài)的信息,包括各種寄存器的當前值和返回地址等

實參數(shù)域:用于存放函數(shù)的實參信息

返回值域:為調(diào)用者函數(shù)存放返回值

37.遞歸是數(shù)學領域中概念在程序設計中的應用

38.遞歸是一種強有力的程序設計方法

39.遞歸的本質(zhì)為函數(shù)內(nèi)部在適當?shù)臅r候調(diào)用自身

40.C語言中遞歸函數(shù)必然會使用判斷語句

41.遞歸函數(shù)在需要編寫的時候定義函數(shù)的出口,否則棧會溢出

42.遞歸函數(shù)是一種分而治之的思想

43.不要在函數(shù)中使用全局變量,盡量讓函數(shù)從意義上是一個獨立的功能模塊

44.參數(shù)名要能夠體現(xiàn)參數(shù)的意義

45.如果參數(shù)時指針,且僅作輸入?yún)?shù)用,則應在類型前加const,以防止該指針在函數(shù)體內(nèi)被意外修改

46.不要省略返回類型,如果函數(shù)沒有返回值,那么應聲明為void類型

47.在函數(shù)體的“入口處”對參數(shù)的有效性進行檢查,對指針的檢查尤為重要

48.語句不可返回指向“棧內(nèi)存”的“指針”,因為該內(nèi)存在函數(shù)體結束時被自動銷毀

49.函數(shù)體的規(guī)模要小,盡量控制在80行代碼之內(nèi)

50.相同的輸入應當產(chǎn)生相同的輸出,盡量避免函數(shù)帶有“記憶”功能

51.避免函數(shù)有太多的參數(shù),參數(shù)個數(shù)盡量控制在4個以內(nèi)

52.有時候函數(shù)不需要返回值,但為了增加靈活性,如支持鏈式表達,可以附加返回值

53.函數(shù)名與返回值類型在語義上不可沖突

分享標題:函數(shù)的本質(zhì)
當前URL:http://www.muchs.cn/article40/geheho.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供ChatGPT、品牌網(wǎng)站設計、網(wǎng)站營銷微信小程序、響應式網(wǎng)站、做網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

微信小程序開發(fā)