道聽胡說: C與函式

據說老舊的C語言程式,在編譯時並不會檢查函式的參數型態,因此才沒有函式的Overloading(多載)。

所以,老舊 C 函式才不能寫這樣的宣告
int max(int a, int b) { ... }
long max(long a,long b) { ... }
float max(float a,float b) { ... }
而下面這種函式的寫法,據說是後來加上去的函式型態檢查而產生的
int
max (a , b)
  int a;
  int b;
{
  ...
}
不過,我倒是認為上面這種宣告,其實也很不錯!讓初學者認為參數其實就等同於宣告變數。

留言