[英]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.