在對c語言有過一定的了解之後,我們都會涉及到乙個概念:函式。
那麼,什麼是函式呢?
首先,我們來看一段 **:
#includeint max(int x,int y)
int main()
在上面的程式中,我們將引數a,b傳入到函式max之中,最後求出結果並返回,那麼,這樣寫的好處是什麼呢?我們為什麼要使用函式來實現這樣的功能呢?
首先,函式可以提高我們**的復用性,如果我們頻繁使用某乙個功能,而這個功能被我們提前用函式的形式編寫好,那麼我們只需要完成對他的呼叫就可以了,而不是去重複的進行書寫。
在c語言中,本身的基礎庫為我們提供了很多庫函式,比如strlen,strcpy,rand……
能夠熟悉使用這些子程式(子程式就是函式),對我們的業務提公升有很大的幫助,但是一定要記得,使用庫函式的時候要引正確的標頭檔案。
接下來說說函式的實參和形參,在剛開始接觸c語言的時候,我經常被這些個概念搞昏,當然,我比較弱,希望以後的你,變的更強。
實際引數(實參):實參就是就是上面**中max(a,b)中的a,b,它既可以是變數、常量,也可以是表示式,甚至可以是函式,但無論它是何種形式,在最後傳給上面的形參時,它都是乙個確定的值,以便把這些函式傳給形參。
形式引數(形參):形參是實參是乙份臨時拷貝。上面函式體部分的x,y就是形參,在程式沒有執行到函式體這一部分時,形參是不會被建立的。而當函式執行結束後,形參也隨之銷毀,因此形參只在函式中有效。
稍微了解一下形參和實參,我們來說說函式呼叫。函式呼叫可以分為傳值呼叫和傳址呼叫。
傳值呼叫:形參和實參分別處於不同的記憶體塊,對形參的修改不會對實參造成影響。
傳址呼叫:形參和實參依然位於不同的記憶體塊,但兩者之間存在了一層關係,形參之中存著實參的位址,這樣通過形參可以輕易的找到實參在記憶體中存的記憶體單元,這樣函式可以通過對形參的間接訪問修改實參。
C語言中的函式指標
開啟去年6月的乙個test.cpp檔案,發現對裡面測試的函式指標幾乎沒有印象了。溫故而知新,於是重新找到ansi c 裡面的說明 除了宣告指向整型數字 雙精度型數字和c語言其他資料型別的指標外,指標也能夠被宣告指向乙個函式 包含乙個函式的位址 指向函式的指標是可能的,因為函式名像陣列名一樣,它們本身...
C語言中的常用函式
1.strcmp函式 strcmp函式是比較兩個字串的大小,返回比較的結果。原始碼 int strcmp const char str1,const char str2 return str1 str2 一般形式是 i strcmp 字串1,字串2 其中,字串 字串 均可為字串常量或變數 i 是用於...
C語言中的system函式
在linux c程式設計時,system函式有時是很好用的。例如在c中需要呼叫openssl時可以這樣呼叫 int cy system const char command,int status otherwise,ret cmd返回資訊 status ret if wifexited status...