c語言中自定義函式與系統函式的區別

2021-06-08 01:47:59 字數 1884 閱讀 8574

1樓:匿名使用者

系統函式是包含在系統標頭檔案中的函式,它作為一個外部函式可以被所以包含它標頭檔案的檔案中使用。(static除外)。庫檔案中的函式多數是與系統無關的,可移植的。

自定義函式 包含在自己建立的檔案中,在使用時包含該檔案。

1 位置上:系統在系統預設的位置,自定義在本工程的資料夾下 。比如#include "" #include <>的區別。

2 自定義函式可以只為自己的使用考慮,所以在實現的過程中不用可以放寬條件。

3 實現的靜態自定義函式只能在實現它的檔案中使用。

4 自定義函式的函式在main函式之前必須被宣告。

2樓:匿名使用者

自定義,顧名思義就是根據程式設計師的實際需要,自己定義的函式,函式有自己定義的引數,功能和返回值,自定義函式的目的是更好更方便的幫程式設計師更快的完成所需要的程式設計。

系統函式就是系統自帶的函式,它是通用的,就是所有程式設計師都能使用的函式,它有規定的介面,引數形式,功能和返回值,是編譯軟體實現定義好的函式,供所有程式設計師呼叫。

特點:系統函式是通用的,所有程式設計師都知道,都能用,使編譯平臺有普適性,但是不能滿足各種程式設計師特定的變成需求。

自定義函式是自我定義的,只有每個程式設計師自己知道,完成自己想要完成的特定意義的函式,它一般是對系統函式的整合程式設計。比如從螢幕上獲取一個字母,並判斷它是大寫還是小寫,如果大寫,就列印“大寫”,是小寫就列印“小寫”,我們需要先用getchar()獲取螢幕上的字母,再進行判斷,再進行輸出,如果以後我們很多程式都需要用到這三個步驟,那麼我們可以寫一個函式把他們三個步驟整合到一起,有自己的引數和返回值,那麼我們就利用了系統函式構造成了我們自定義的函式。

希望對你有幫助,歡迎再次提問

3樓:匿名使用者

自定義函式是需要我們自己的編譯的,定義一個函式,這個函式的功能是根據自己或使用者的需要所設計的。

而系統函式是程式本身設計好的。系統自帶的, 如我們經常用的個頭插入getchar() getch();之類的都是系統函式;

4樓:匿名使用者

某種程度上來說,巨集函式和自定義函式是有區別的,但作為一個函式的本身來說,沒有實質性的區別。

c語言裡面預處理自定義庫函式和系統自帶的庫函式有什麼區別嗎?

5樓:匿名使用者

沒有本質區別。

舉例[mylib.h]

void fun1(int a,int b);

int fun2();

[mylib.c]

#include "mylib.h"

void fun1(int a,int b)int fun2()

c語言中函式宣告是否必要? 自定義函式放在前、放在後有何區別?

6樓:匿名使用者

函式必須在宣告後使用,如果在宣告前使用,會發生錯誤這樣的呼叫會發生錯誤:

void b()

void a()

如果需要把函式a的實現放到函式b的後面,正確的方法是:

void a();

void b()

void a()

7樓:匿名使用者

必需的,儘管有些情況不需要,有一定不會出錯。自定義函式放在前,表示全域性域通用;放在後只能定義局域函式運算,如在一個迴圈裡做函式運算。這個書上都有明確定義,只要你認真看書就能掌握。

8樓:匿名使用者

c是程序導向的語言,即一步步按流程下去,寫在前面編譯器就知道有這個函式,寫在後面的話需要在main()前面加上那個函式的宣告,告訴編譯器有這個函式

9樓:匿名使用者

當函式體在使用點之後時,需要事先宣告

沒有區別

自定義常量定義應該在哪,C語言自定義函式中定義常量 變數的問題

define和const 1.define是巨集定義,程式在預處理階段將用define定義的內容進行了替換。因此程式執行時,常量表中並沒有用define定義的常量,系統不為它分配記憶體。const定義的常量,在程式執行時在常量表中,系統為它分配記憶體。2.define定義的常量,預處理時只是直接進行...

C語言中,定義自定義庫函式時該如何寫對應的標頭檔案

首先,要明白一點。標準庫的標頭檔案多次include是不會發生重定義的錯誤的。所有的標準庫檔案的內容都是如這般寫的 ifndef stdlib h define stdlib h endif 這保證了它的內容只會被引用一次。所以要include,只寫一句 include 就可以了。另外,你自己的標頭...

c語言請編寫函式fun自定義函式其功能是

如下 include int fun int a,int b int c 10 b 10 a 10 1000 b 10 100 a 10 return c int main int a int b printf 請輸入第乙個兩位數a scanf d a printf 請輸入第二個兩位數b scanf...