c語言函式詳解

2021-10-04 12:54:14 字數 1538 閱讀 8185

c程式是由函式組成的,我們寫的**都是由主函式main()開始執行的。函式是c程式的基本模組,是用於完成特定任務的程式**單元
從函式定義角度看,函式可分為系統函式和使用者定義函式。

系統函式,即庫函式:

這是由編譯系統提供的,使用者不必自己定義這些函式,可以直接使用他們,如我們常用的列印函式printf().
使用者定義函式:

用以解決使用者的專門需要。
格式:

extern 返回值 函式名(引數列表)
函式宣告中的引數是形參

例:

extern int add(int a,int b);
格式:

返回值型別  函式名(引數列表)

例:

int add(int a,int b)

無返回值用void

函式定義中的引數列表中的資料成為函式的形式引數------形參接收實參,在函式內部進行運算

理論上是可以隨意起名字,最好起的名字見名知意,應該讓使用者看到這個函式名字就知道這個函式的功能。注意:函式名後面有個圓括號(),代表這個為函式,不是普通的變數名。
在定義函式時指定的形參,在未出現函式呼叫時,它們並不佔記憶體中儲存單元,因此稱它們時形式引數或虛擬引數,簡稱形參,表示它們並不是實際存在的資料,所以,形參裡的變數不能賦值

形參可有可無,根據函式的需要來設計,如果沒用形參,圓括號內容為空,或寫乙個void關鍵字

格式:

函式名(引數列表)
函式宣告,定義之後可以多次使用。形參不會影響實參的值,實參會影響形參的值

int a=10,b=20;

//a和b為實際引數

int c=add(a,b);

花括號{}裡的內容即為函式體的內容,這裡為函式功能實現的過程,這和以前的寫**沒太大區別,以前我們把**寫在main()函式裡,現在只是把這些寫到別的函式裡。
函式的返回值時通過函式中的return語句獲得的,return後面的值也可以是乙個表示式

1:盡量保證return語句中表示式的值和函式返回型別是同一型別

2:如果函式返回的型別和return語句中表示式的值不一致,則以函式返回型別為準,即函式返回型別決定返回值的型別,對數值型資料,可以自動進行型別轉換。如果無法轉換,會報錯。

1、函式、變數的宣告

2、系統庫的呼叫

#pragma once    //只載入一次

//宣告系統庫

#include #include #include //宣告變數

extern int aaa;

//宣告函式

extern int add(int a,int b);

C語言qsort函式詳解

qsort函式是ansi c標準中提供的,其宣告在stdlib.h檔案中,是根據二分發寫的,其時間複雜度為n log n 其結構為 void qsort void base,size t nelem,size t width,int comp const void const void 其中 bas...

C語言main 函式詳解

c的設計原則是把函式作為程式的構成模組。main 函式稱之為主函式,乙個c程式總是從main 函式開始執行的。在最新的 c99 標準中,只有以下兩種定義方式是正確的 int main void 無引數形式 int main int argc,char argv 帶引數形式 int指明了main 函式...

C語言main 函式詳解

c的設計原則是把函式作為程式的構成模組。main 函式稱之為主函式,乙個c程式總是從main 函式開始執行的。在最新的 c99 標準中,只有以下兩種定義方式是正確的 int main void 無引數形式 int main int argc,char argv 帶引數形式 int指明了main 函式...