C語言函數


 

C語言函數

一、函數

C語言程序是由函數構成的,每個函數負責完成一部分的功能,函數將工恩呢該封裝起來,以供程序調用。

 

二、函數定義

目的:將一些常用的功能封裝起來,以供日后調用。

步驟:確定函數名,確定函數體,調用

格式:返回值類型 函數名(形式參數列表)

  {  函數體 }

 

三、函數調用

定義函數需要明確定的東西:

①. 取一個有意義的函數名

②. 確定函數的形參

③. 編寫函數體

④. 返回值

示例:

Int average(int num1,int num2)

{

Return  (num1+num2)/2;

}

int main()

{

Int a=1;

Int b=3;

Int c=average(a,b); //調用函數

Return 0;

}

  

 四、參數

①. 形參:定義函數時,函數名后面的參數 如num1和num2

②. 實參:調用函數時,傳人的具體數據   如a和b

③. 形參和實參的個數必須相等

④. 函數體內部不能定義和形參同名的變量

⑤. 如果是基本的數據類型作為形參,則是純粹的值傳遞,修改函數內部形參的值並不會影響到實參的值

⑥. 一個函數可以沒有形參,也可以有無限個形參

 

五、函數的返回值

(一)Return 的作用:

①. 退出函數

②. 返回一個具體的值給函數的調用者

(二)返回值使用注意:

①. C語言是弱語法弱類型的語言,非常不嚴格

②. 如果沒有寫清楚返回值的類型,則默認為int型的

③. Void代表沒有返回值

④. 就算明確聲明了返回值類型,也可以不返回任何的值

⑤. C語言默認情況下,不允許有兩個同名的函數

六、函數使用注意

①. 默認不允許函數重名

②. 函數之間是平等的,不能夠嵌套定義

③. 函數不可以重復定義,但是可以重復聲明,只要是在調用前聲明就可以,地方隨便

④. 函數如果是只要聲明沒有定義,那么編譯可以成功,但鏈接時會失效

七、多人協作

#include<.stdio.h>是一個系統頭文件。

#include<abc.txt>相當於把abc.txt文件中的所用內容以純文本的方式拷貝到當前位置。

“”表示文件與.c文件處於同一路徑,可以使用相對路徑也可以使用絕對路徑。左邊有/的是絕對路徑,沒有/則為相對路徑。

注意:自定義的文件使用“”,系統文件使用<>。

函數如果在調用時,函數定義在調用之后,且前面沒有進行相應的聲明,則編譯器報錯;

調用函數,沒有函數聲明,編譯器不會報錯,鏈接時報錯,不定義函數反而不報錯。

鏈接:把項目中所以相關的.o目標文件和c語言的函數庫合並在一起,生成可執行文件。

通常:

①. 函數的定義放在.c文件中,函數的聲明放在.h文件中

②. 如果要是有某個.c文件中定義的函數,只需要包含.c文件對應的.h文件即可

③. .h文件生下來就是打醬油被別人拿來拷貝包含的,編譯鏈接時不用寫出

 

八、補充

(1)main函數的返回值是返回給操作系統的,0為正常退出,其他值為非正常退出。用以進行系統日志,其實它返回任何值對程序本身沒有影響,僅僅只是標記

(2)Printf函數的返回值為字符數。如printf(“abc”);則返回值為3,若printf(“abc男\n”);的返回值為7,因為一個中文占3個字符。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM