亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

C語言函數(shù)聲明以及函數(shù)原型超詳細講解示例

 更新時間:2023年02月11日 10:11:00   作者:Elanie1024  
這篇文章主要介紹了C語言函數(shù)聲明以及函數(shù)原型超詳細講解,C語言代碼由上到下依次執(zhí)行,原則上函數(shù)定義要出現(xiàn)在函數(shù)調用之前,否則就會報錯。但在實際開發(fā)中,經常會在函數(shù)定義之前使用它們,這個時候就需要提前聲明

C語言代碼由上到下依次執(zhí)行,原則上函數(shù)定義要出現(xiàn)在函數(shù)調用之前,否則就會報錯。但在實際開發(fā)中,經常會在函數(shù)定義之前使用它們,這個時候就需要提前聲明。

所謂聲明(Declaration),就是告訴編譯器我要使用這個函數(shù),你現(xiàn)在沒有找到它的定義不要緊,請不要報錯,稍后我會把定義補上。

函數(shù)聲明的格式非常簡單,相當于去掉函數(shù)定義中的函數(shù)體,并在最后加上分號;,如下所示:

dataType functionName( dataType1 param1, dataType2 param2 ... );

也可以不寫形參,只寫數(shù)據(jù)類型:

dataType functionName( dataType1, dataType2 ... );

函數(shù)聲明給出了函數(shù)名、返回值類型、參數(shù)列表(重點是參數(shù)類型)等與該函數(shù)有關的信息,稱為函數(shù)原型(Function Prototype)。函數(shù)原型的作用是告訴編譯器與該函數(shù)有關的信息,讓編譯器知道函數(shù)的存在,以及存在的形式,即使函數(shù)暫時沒有定義,編譯器也知道如何使用它。

有了函數(shù)聲明,函數(shù)定義就可以出現(xiàn)在任何地方了,甚至是其他文件、靜態(tài)鏈接庫、動態(tài)鏈接庫等。

【實例1】定義一個函數(shù) sum(),計算從 m 加到 n 的和,并將 sum() 的定義放到 main() 后面。

#include<stdio.h>
//函數(shù)聲明
intsum(int m,int n);//也可以寫作int sum(int, int);
intmain(){
int begin =5, end =86;
int result =sum(begin, end);
printf("The sum from %d to %d is %d\n", begin, end, result);
return0;
}
//函數(shù)定義
intsum(int m,int n){
int i, sum=0;
for(i=m; i<=n; i++){
        sum+=i;
}
return sum;
}

我們在 main() 函數(shù)中調用了 sum() 函數(shù),編譯器在它前面雖然沒有發(fā)現(xiàn)函數(shù)定義,但是發(fā)現(xiàn)了函數(shù)聲明,這樣編譯器就知道函數(shù)怎么使用了,至于函數(shù)體到底是什么,暫時可以不用操心,后續(xù)再把函數(shù)體補上就行。

【實例2】定義兩個函數(shù),計算1! + 2! + 3! + ... + (n-1)! + n!的和。

#include<stdio.h>
// 函數(shù)聲明部分
longfactorial(int n);//也可以寫作 long factorial(int);
longsum(long n);//也可以寫作 long sum(long);
intmain(){
printf("1!+2!+...+9!+10! = %ld\n",sum(10));
return0;
}
//函數(shù)定義部分
//求階乘
longfactorial(int n){
int i;
long result=1;
for(i=1; i<=n; i++){
        result *= i;
}
return result;
}
// 求累加的和
longsum(long n){
int i;
long result =0;
for(i=1; i<=n; i++){
        result +=factorial(i);
}
return result;
}

運行結果:

1!+2!+...+9!+10! = 4037913

初學者編寫的代碼都比較簡單,頂多幾百行,完全可以放在一個源文件中。對于單個源文件的程序,通常是將函數(shù)定義放到 main() 的后面,將函數(shù)聲明放到 main() 的前面,這樣就使得代碼結構清晰明了,主次分明。

使用者往往只關心函數(shù)的功能和函數(shù)的調用形式,很少關心函數(shù)的實現(xiàn)細節(jié),將函數(shù)定義放在最后,就是盡量屏蔽不重要的信息,凸顯關鍵的信息。將函數(shù)聲明放到 main() 的前面,在定義函數(shù)時也不用關注它們的調用順序了,哪個函數(shù)先定義,哪個函數(shù)后定義,都無所謂了。

然而在實際開發(fā)中,往往都是幾千行、上萬行、百萬行的代碼,將這些代碼都放在一個源文件中簡直是災難,不但檢索麻煩,而且打開文件也很慢,所以必須將這些代碼分散到多個文件中。對于多個文件的程序,通常是將函數(shù)定義放到源文件(.c文件)中,將函數(shù)的聲明放到頭文件(.h文件)中,使用函數(shù)時引入對應的頭文件就可以,編譯器會在鏈接階段找到函數(shù)體。

到此這篇關于C語言函數(shù)聲明以及函數(shù)原型超詳細講解示例的文章就介紹到這了,更多相關C語言函數(shù)聲明內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Qt實現(xiàn)打地鼠游戲的方法詳解

    Qt實現(xiàn)打地鼠游戲的方法詳解

    這篇文章主要和大家詳細介紹了如何利用Qt實現(xiàn)一個簡單的打地鼠游戲,文中的示例代碼講解詳細,具有一定的借鑒價值,需要的可以參考一下
    2022-10-10
  • C語言--數(shù)字交換題目詳解

    C語言--數(shù)字交換題目詳解

    本文通過代碼給大家介紹c語言數(shù)字交換的題目,通過實例代碼給大家講解的很詳細,具有一定的參考借鑒價值,對c語言感興趣的朋友一起看看吧
    2021-08-08
  • C++深入分析講解類的知識點

    C++深入分析講解類的知識點

    C++類,是指系統(tǒng)在第一次在程序中遇到一個類時為這個類建立它的所有類變量的拷貝 - 這個類的所有實例共享它的類變量
    2022-06-06
  • C語言排序方法(冒泡,選擇,插入,歸并,快速)

    C語言排序方法(冒泡,選擇,插入,歸并,快速)

    這篇文章給大家分享C語言所有經典排序方法,文章給大家提供完整的實例代碼幫助大家快速學習掌握C語言排序方法,感興趣的朋友一起看看吧
    2021-08-08
  • 關于統(tǒng)計數(shù)字問題的算法

    關于統(tǒng)計數(shù)字問題的算法

    本文介紹了統(tǒng)計數(shù)字問題的算法,計算出書的全部頁碼中分別用到多少次數(shù)字0,1,2,3,.....9,并有每一步的解題思路,需要的朋友可以參考下
    2015-08-08
  • Qt為exe添加ico圖片的簡單實現(xiàn)步驟

    Qt為exe添加ico圖片的簡單實現(xiàn)步驟

    這篇文章主要給大家介紹了關于Qt為exe添加ico圖片的簡單實現(xiàn)步驟,通過文中介紹的方法可以幫助大家實現(xiàn)這個自定義exe圖標的效果,文中通過圖文介紹的非常詳細,需要的朋友可以參考下
    2022-07-07
  • C++用read()和write()讀寫二進制文件的超詳細教程

    C++用read()和write()讀寫二進制文件的超詳細教程

    二進制的文件肉眼我們是讀不懂的,如果通過二進制的讀寫操作就可以讀懂,下面這篇文章主要給大家介紹了關于C++用read()和write()讀寫二進制文件的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-06-06
  • C++?plog日志使用方法介紹

    C++?plog日志使用方法介紹

    最近突然心血來潮,想學一下日志方面的操作。在網上找了很多日志相關的技術,最終還是決定使用plog,小巧,快速,跨平臺
    2022-10-10
  • 基于C語言實現(xiàn)簡單的五子棋游戲

    基于C語言實現(xiàn)簡單的五子棋游戲

    這篇文章主要為大家詳細介紹了基于C語言實現(xiàn)簡單的五子棋游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • C語言制作簡易金山打字通功能的代碼

    C語言制作簡易金山打字通功能的代碼

    今天小編就為大家分享一篇關于C語言制作簡易金山打字通功能的代碼,小編覺得內容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-12-12

最新評論