2011-09-13 42 views
-1

正是爲什麼與在問候功能或方法術語參數中可互換使用的術語參數?對我來說似乎很荒謬,實際上完全破壞了編程,除了它的工作原理。參數作爲在C爲參數的同義詞,以及C++

+0

對不起。請說明差異以及我們應該如何知道何時使用哪個術語。 – Gabe

+0

http://en.wikipedia.org/wiki/Parameter_%28computer_programming%29 –

+1

@samin,我不認爲你的問題的實質是壞(_「沒有建設性」 _)。對於新程序員來說明參數和參數的正確使用是很有用的。然而,你的第二句話摧毀了你的問題的可信度。基調是爭論性的,稍微有些煽動性。 –

回答

5

使用可替代的術語是不正確。

一種參數是在函數調用傳遞的值。

A 參數是一個對象,該函數是局部的,將參數值複製到該對象中。

例如:

void foo(int parameter) { 
    /* ... */ 
} 

/* ... */ 

int argument = 42; 
foo(argument); 

這種情況的明確的參考是C standard(3.7M PDF)。詞語參數參數分別在3.3和3.15,限定。

+0

Ref。 [參數(計算機科學)](http://en.wikipedia.org/wiki/Parameter_%28computer_science%29):這兩個術語有時可以寬鬆地交替使用;特別是「參數」有時用於代替「參數」。儘管如此,還是有區別的。正確地,參數出現在過程定義中;參數出現在過程調用中。 – 2011-09-13 17:37:23

+0

@Keith:close,但是在C99或C++中定義爲void void(int){}的函數仍然有一個參數,即使參數複製到的函數沒有局部對象。參數是爲其指定參數值的形式指定的實體 - 是否存在包含值的函數本地對象是不相關的。 –

+0

@Steve:在C++中,是的,但在C中是無效的;您可以在函數聲明中省略參數名稱,但不在定義中。 –

2

引述安德烈Alexandrescu的書「的d編程語言」

這本書一直使用參數來指代功能和參數內部使用的價值認可和 談論傳遞的值 時從外部到調用過程中的函數。

你是正確的術語經常交替使用。然而,更多經驗豐富的程序員顯然偏好使用它們,就像Andrei所描述的那樣。