當前位置:編程學習大全網 - 編程語言 - 函數的定義是什麽!

函數的定義是什麽!

有兩種理解.(1)庫函數是C語言的內部函數或自帶函數,外部函數即程序員自定函數.

(2)凡加寫了extern 的函數是外部函數.

第壹種理解好懂:

C語言的內部函數指的是C語言自帶的函數,無論是動態鏈接的或靜態鏈接的. 這些函數通過C語言的頭文件定義了.

例如, sin(),cos()等數學函數,在math.h中定義了,輸入輸出函數 printf(),fgetc()在stdio.h中定義了,時間函數表time(),ctime()等在time.h中定義了.還有許多其他內部函數.編程時,只要用#include <庫名.h>寫在編程頭部,程序中就可調用.

自定義函數,就是用戶自己寫的函數.

第二種凡加寫了extern 的函數是外部函數:

自定義函數可以與程序的main()寫在同壹個文件中,也可以寫在另壹個文件中,這時妳可能還另寫自己的頭文件或者寫extern....,告訴編譯器,main中用到的某某函數是"外部函數".

例如,main()在a.c中,自定義函數my_func()在a2.c中

a.c內容:

#include <stdio.h>

extern float my_func(float a);

main()

{

printf("result=%f\n",my_func(2.0));

}

a2.c 內容:

float my_func(float a)

{

return a;

}

編譯:

cl -c a.c [得到a.obj]

cl -c a2.c [得到a2.obj]

cl a.obj a2.obj [鏈接成a.exe]

運行:

a.exe

result=2.000000

extern float my_func() 是外部說明,告訴編譯,main()裏的my_func是外部函數,要通過鏈接(.obj)得到.

如果把my_func寫在a.c裏:

#include <stdio.h>

float my_func(float a){

retun a;

}

main()

{

printf("result=%f\n",my_func(2.0));

}

my_func() 就不是外部函數.

編譯:

cl a.c [得a.exe]

運行:

a.exe

result=2.000000

  • 上一篇:未來十年最有前途的職業是什麽?
  • 下一篇:支付寶 .NET SDK 報錯:RSA簽名遭遇異常,請檢查私鑰格式是否正確
  • copyright 2024編程學習大全網