C語言 函數聲明和定義 - C語言零基礎入門教程


目錄

零基礎 C/C++ 學習路線推薦 : C/C++ 學習目錄 >> C 語言基礎入門

一.簡介

C 語言中的函數是一段可以重復使用的代碼,用來獨立地完成某個功能,它可以接收用戶傳遞的參數,也可以不接收;將代碼段封裝成函數的過程叫做函數定義。

/*
dataType 是返回值類型,它可以是C語言中的任意數據類型,例如: int、float、char 等。

functionName 是函數名,它是標識符的一種,命名規則和標識符相同。函數名后面的括號( )不能少。

body 是函數體,它是函數需要執行的代碼,是函數的主體部分。即使只有一個語句,函數體也要由{ }包圍。

*/

dataType  functionName()
{
    //body
}

如果有返回值,在函數體中使用 return 語句返回。return 出來的數據的類型要和 dataType 一樣。

二.函數返回值

1.函數沒有返回值

如果函數沒有返回值,函數名前面用 void 修飾,例如:

void func(); //聲明一個函數,該函數沒有返回值

2.函數有返回值

如果函數有返回值,函數名前面用返回值類型,可以用 int / float / double / char 等等修飾,例如:

int func1();          //聲明一個函數,該函數返回值是整數int類型
float func2();        //聲明一個函數,該函數返回值是浮點數float類型
double func3();       //聲明一個函數,該函數返回值是浮點數double類型
char func4();         //聲明一個函數,該函數返回值是字符char類型

三.函數參數

1.函數沒有參數

函數沒有參數,就表示沒有參數列表,例如:

int func1();    //聲明一個函數,該函數返回值是整數int類型
float func2();  //聲明一個函數,該函數返回值是浮點數float類型

2.函數有固定參數

dataType  functionName( dataType1 param1, dataType2 param2 ...)
{
    //body
}

dataType1 param1, dataType2 param2 ...是參數列表。函數可以只有一個參數,也可以有多個,多個參數之間由,分隔。參數本質上也是變量,定義時要指明類型和名稱。與無參函數的定義相比,有參函數的定義僅僅是多了一個參數列表,例如:

int func1(int x);          //聲明一個函數,該函數返回值是整數int類型
float func2(int x,int y);  //聲明一個函數,該函數返回值是浮點數float類型

3.函數有不定長度參數

函數的不定長參數,指函數的參數個數不固定,可以是兩個,也可以是三個或者更多,例如最常見的 printf 函數:

printf("%s","hello world");
printf("%d-%d-%d",1,2,3);

關於函數的不定長參數,這里暫時不做講解,后面文章再做詳細介紹;

四.函數聲明和定義

函數聲明只是一個空殼,不會有具體的函數實現,而定義要實現函數的實現;

1.函數聲明:不需要實現這個函數的功能

int add(int x,int y); //只需要聲明即可,不需要實現這個函數的功能

2.函數定義:必須實現這個函數的功能

int add(int x,int y) 需要實現這個函數的功能
{
    return (x+y);
}

五.猜你喜歡

  1. C 語言邏輯運算符
  2. C 語言三目運算符
  3. C 語言逗號表達式
  4. C 語言 sizeof 和 strlen 函數區別
  5. C 語言 strcpy 和 strcpy_s 函數區別
  6. C 語言 memcpy 和 memcpy_s 區別
  7. C 語言 數組定義和使用
  8. C 語言 數組遍歷
  9. C 語言 數組下標越界
  10. C 語言 數組內存溢出
  11. C 語言 數組下標越界和內存溢出區別
  12. C 語言 二維數組定義和使用
  13. C 語言 二維數組行數和列數計算
  14. C 語言 指針聲明和定義
  15. C 語言 指針 p++ / p–
  16. C 語言 p++/§++/_(p++)/_p++
  17. C 語言 使用指針遍歷數組
  18. C 語言 指針和數組區別
  19. C 語言 數組指針
  20. C 語言 指針數組
  21. C 語言 指針數組和數組指針區別
  22. C 語言 空指針 NULL
  23. C 語言 void 指針
  24. C 語言 野指針
  25. C 語言 函數聲明和定義

未經允許不得轉載:猿說編程 » C 語言 函數聲明和定義

本文由博客 - 猿說編程 猿說編程 發布!


免責聲明!

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



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