2010-04-05 84 views
1

我看到在函數定義中使用相同變量名的C書,調用函數和聲明。其他人使用相同的變量名中調用函數,並在報關/雛形,但一個不同的定義爲:函數定義,調用和聲明中的變量名

void blabla(int something); //prototype 

blabla(something) // calling function inside main after something has been initialized to int 

void blabla(int something_else) //definition 

我有兩個問題:

  1. 什麼約定是最好的在C中使用;

  2. 無論值是通過「按值」還是通過指針傳遞,該約定是否適用?

非常感謝......

回答

1

用於函數聲明函數參數的名稱基本上只是一個評論。它沒有任何意義,並且(如你所注意到的)不必與函數定義相匹配。也就是說,它應該是一個很好的描述性名稱,告訴你參數的用途。那麼爲什麼不在聲明中使用相同的名稱呢?如果您使用不同的名稱,並且其中一個名稱更好(更具描述性),那麼您應該可以在這兩個地方使用該名稱。

+0

謝謝。所以基本上使用一個描述性的名字是很好的,這個名字在聲明,調用函數和定義中同樣適用。不需要發明其他不同的變量名稱? – yCalleecharan 2010-04-05 23:35:12

+0

給定兩個名字,其中任何一個明顯比另一個更好 - 在這種情況下,如果在兩個地方使用更好的名稱,或者兩者都同樣毫無意義,那麼這樣做會很好;) - 在這種情況下,您應該選擇一個名稱並堅持它只是爲了一致性。 – 2010-04-05 23:39:24

+0

因此,最好在聲明和定義中使用相同的名稱。然後我們可以在調用函數中添加其他名稱。 – yCalleecharan 2010-04-05 23:57:09