C語言函數宣告的格式是由去掉函數定義中的函數體再加上分號組成,目的是為了防止程式在函數未定義之前使用了函數而導致程式報錯。
C語言程式碼由上到下依序執行,原則上函數定義要出現在函數呼叫之前,否則就會報錯。但在實際開發中,經常在函數定義之前使用它們,這個時候就需要事先聲明。接下來在文章中將為大家具體介紹有關函數宣告的知識,具有一定的參考作用,希望對大家有幫助。
【推薦課程:C語言教學】
#函數宣告
所謂聲明(Declaration),就是告訴編譯器我將要使用這個函數,雖然現在沒有找到它的定義不要緊,但是請不要報錯稍後會把定義補上。
函數宣告的格式非常簡單,相當於去掉函數定義中的函數體再加上分號;,如下所示:
返回值类型 函数名( 类型 形参, 类型 形参… );
也可以不寫形參,只寫資料型別:
返回值类型 函数名( 类型, 类型…);
函數宣告給出了函數名稱、傳回值類型、參數列表(參數類型)等與該函數有關的信息,稱為函數原型(Function Prototype)。
函數原型的作用是告訴編譯器與函數有關的信息,讓編譯器知道函數的存在,以及存在的形式,即使函數暫時沒有定義,編譯器也知道如何使用它。
有了函數聲明,函數定義就可以出現在任何地方了,甚至是其他文件、靜態連結庫、動態連結庫等。
範例:
#include <stdio.h> // 函数声明 long factorial(int n); //也可以写作 long factorial(int); long sum(long n); //也可以写作 long sum(long); int main(){ printf("1!+2!+...+9!+10! = %ld\n", sum(10));return 0; } //求阶乘 long factorial(int n) { int i; long result=1; for(i=1; i<=n; i++){ result *= i; } return result; } // 求累加的和 long sum(long n) {int i; long result = 0; for(i=1; i<=n; i++) { //嵌套调用 result += factorial(i); } return result; }
運行結果為:1! 2! ... 9! 10! = 4037913
我們知道,使用printf( )、puts()、scanf()、getchar() 等函數要引入stdio.h 這個頭文件,很多初學者認為stdio.h 中包含了函數定義(也就是函數體),只要有了頭檔程式就能運行。其實不然,頭檔包含的都是函數聲明,而不是函數定義,函數定義都在系統函式庫中,只有頭檔沒有系統函式庫在連結時就會報錯,程式根本不能運作。
總結:以上就是這篇文章的全部內容了,希望對大家有幫助。
以上是如何理解c語言函數聲明的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

DVWA
Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中