爲什麼我們不能在C編程語言的結構中聲明一個靜態變量?爲什麼我們不能在C編程語言的結構中聲明一個靜態變量?
7
A
回答
11
4
因爲C不是C++。
因爲C標準不允許它。
因爲它在C.
+1
(zing) – 2010-09-19 07:39:01
0
因爲在c中我們不能訪問帶有結構名稱的靜態變量。 在C++中,我們可以使用類名訪問靜態成員變量,如下所示。
類名:: staticVariableName
'C' stucture不提供這樣的設施。
相關問題
- 1. 爲什麼你不能在C#中聲明一個靜態結構,但它們可以有靜態方法?
- 2. 爲什麼我不能在C++ 0x中的lambda中聲明結構變量?
- 3. 爲什麼我不能聲明一個參數化的靜態類變量?
- 4. 爲什麼不能在非靜態塊中聲明靜態最終變量?
- 5. 爲什麼靜態變量需要在C++中聲明兩次
- 6. 在Swift類或結構中聲明爲靜態的變量會發生什麼?
- 7. 即使函數是靜態的,爲什麼我們不能在函數體內聲明靜態變量?
- 8. 爲什麼我們要聲明一個靜態方法
- 9. 爲什麼不聲明每個變量都是靜態的
- 10. PHP - 爲什麼我無法聲明靜態常量變量?
- 11. 爲什麼C#不允許變量在方法中聲明爲靜態?
- 12. 爲什麼我們不能在for循環中聲明兩個變量?
- 13. 爲什麼我們要在普通類中聲明靜態類?
- 14. C語言中的變量聲明
- 15. 聲明靜態變量時的輸出是什麼?爲什麼?
- 16. 爲什麼我們不能將常量變量定義爲靜態變量?
- 17. 爲什麼變量不能在if語句中聲明?
- 18. Verilog - 爲什麼我不能在for語句中聲明多個變量?
- 19. 爲什麼我不能聲明一個表變量和其他聲明?
- 20. C#中靜態變量的用法是什麼?何時使用它?爲什麼我不能在方法中聲明靜態變量?
- 21. 靜態聲明的結構
- 22. 爲什麼我們在java中聲明變量爲private
- 23. Django - 爲什麼模型類中聲明的變量靜態
- 24. 可以在C中聲明一個靜態變量extern:
- 25. Rust靜態結構聲明
- 26. 靜態結構聲明用C
- 27. 在javascript中爲什麼我們使用var來聲明變量?
- 28. 爲什麼我不能轉發聲明靜態函數?
- 29. 爲什麼不能在類中聲明const靜態字符串
- 30. Android studio:爲什麼我不能引用我聲明的變量?
因爲ISO C標準說你不行。但是如果你說出爲什麼你認爲你需要它,那麼可以爲它提供一個解決方法。 – 2010-09-19 07:38:15
即使在C++中,結構中也沒有像「靜態」變量那樣的東西。這些都是靜態成員,並且C++爲另一個完全不同的語義重載了'static'關鍵字真的很可惜。特別是,它意味着文件或函數範圍內的'static'相反,即全局可見的符號。我真的沒有看到任何用途。如果你要求'extern',這*可能在C中有意義,但這將是不同的故事。 – 2010-09-19 09:56:39
@Jens:函數範圍中的'static'意味着函數的所有調用都共享同一個變量實例。同樣,類中的'static'意味着類的所有實例都共享相同的字段實例。在我看來,重複使用關鍵字的動機非常好。 – 2010-09-19 10:58:02