簡體   English   中英

= { 0 }; 是什么意思? 在 C 的結構初始化中是什么意思?

[英]What does = { 0 }; mean in a structure initialization in C?

如下設置結構變量時:

WNDCLASSW wc = {0};

對於 C 中的這個變量,使用{0}進行初始化意味着什么?

它將結構的所有成員初始化為零。

在大多數情況/架構中,這與將其所有 memory 設置為零相同。

由於 C 的初始化規則,它是一種通用初始化程序:它將通過將所有內容(每個成員遞歸)設置為零來初始化數字或指針以及聚合(= struct s/ union s)或 arrays。

對於 null 指針為“所有位為零”(大多數平台)的平台上的塊 scope 對象,它等效於memset(&object,0,sizeof(object)); 並且編譯器通常會為{0}初始化生成這樣的memset調用,尤其是在將此類初始化應用於更大的 object 時。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM