2013-06-25 125 views
14

定義變量爲staticlong/double或其他類型時是否有任何偏好/約定/規則?定義類型的順序

例如是

static double a; 

相同

double static a; 

是它功能的任何不同?以上,a是可變的。

+7

它們的意思是相同的事情。第一個版本更加常見(以我的經驗)。但最終這只是一個風格問題。 –

+0

是一樣的,但'雙靜態a'給出'警告:'靜態'不是在聲明開始[-Wold-style-declaration]'與'-W'標誌在 –

+0

沒有。你只需要最後一個變量名。與簽名/未簽名相同,您可以按任意順序放置它們。今天或昨天早些時候有一個問題在這裏有很好的迴應。在這裏:http://stackoverflow.com/questions/17287957/is-long-unsigned-as-valid-as-unsigned-long-in-c – enhzflep

回答

21

它們是等價的,但最好是static

(C99,6.11.5p1)「的存儲類說明 比在聲明說明符的開始等在 聲明的位置是一個過時的功能」