1
A
回答
0
指針將指向地址零(大多數系統上爲NULL)。在將其用作指針之前,您仍然需要將其指向某個有效的地方(例如,來自malloc)。
+0
不,它將被初始化爲NULL指針值,無論它的表示是否爲零。對於指針,常數0轉換爲NULL指針值,而不是所有零的位模式。 –
9
在C靜態指針將被初始化爲空值,則draft C99 standard部6.7.8
初始化段落說:
具有靜態存儲持續時間沒有明確地進行初始化,則對象:
幷包括以下項目符號:
- 如果它有指針類型,則它被初始化爲空指針;
所以沒有分配存儲空間,它是一個空指針。還要注意它是一個實現定義的行爲,其中存儲了靜態變量。
爲the C++ draft standard相關的部分應該是爲8.5
初始值設定款它說(重點煤礦):
如果一個對象沒有指定的初始化,對象是默認初始化;如果未執行初始化,則具有自動或動態存儲持續時間的對象具有不確定的值。 [注意:靜態或線程存儲時間爲 零初始化的對象,請參閱3.6.2。末端音符]
零初始化是覆蓋在段落它說:
要零初始化對象或類型T的參考是指:
並具有以下子彈:
- 如果T是一個標量類型(3。9)時,對象被設置爲值0(零),作爲一個積分常量表達式,轉換爲T;
其中腳註103
說(重點礦山):
如在4.10指定,轉換整數表達式中,其值是0至在一個指針類型的結果空指針值。
相關問題
- 1. 靜態Qtime默認值
- 2. Visual C++ 6.0中指針的默認值
- 3. 靜態指針
- 4. 指針類型的C#默認值
- 5. 聲明默認指針值的函數
- 6. 指向靜態的指針
- 7. HOWTO:C使用默認值++函數指針
- 8. Java - 靜態初始化與靜態變量的默認值
- 9. 靜態數組指針vs非靜態數組指針
- 10. 默認值爲靜態布爾變量
- 11. Java非靜態字段默認值?
- 12. Rails遷移 - 非靜態默認值
- 13. 針對非默認靜態位置的瓶子nginx和靜態文件問題
- 14. ASP.NET默認靜態處理
- 15. 如何指定動態默認值
- 16. 靜態變量指針?
- 17. 靜態指針C++使用
- 18. Bada,靜態指針崩潰
- 19. C#指針 - 靜態調用
- 20. C++類與靜態指針
- 21. C++繼承中的靜態指針
- 22. 指定默認值
- 23. 指定默認值
- 24. 是默認靜態內部類的成員靜態在java中
- 25. 動態數組的C靜態指針
- 26. 指向非靜態成員函數的指針的值
- 27. 寧靜WCF默認值
- 28. 如何在靜態庫中提供默認的YAML配置值?
- 29. AngularJS選擇框中的默認靜態HTML值
- 30. 帶指針的C++默認參數
注意,dup只標記C. –
看起來你對指針變量及其值有點困惑。請記住,**指針變量本身就是一個變量**,這意味着它有一個值,但在這種情況下,您可以使用它的值作爲地址。 –