C 結構體成員的預設初始化
在 C 結構體中,預設成員不會自動初始化為 0。要將結構體成員初始化為0,有以下幾個選項:
值初始化
使用大括號括起來的空大括號{ } 為所有成員分配預設值:
Snapshot s = {};
父結構遞歸
如果父結構體包含子結構體,則父結構體的值初始化也會將其子結構體成員初始化為0:
struct Parent { Snapshot s; }; Parent p = {}; // p.s.{x,y} will be zero
建構子初始化
如果結構體有建構函數,可以在其參數中初始化成員list:
struct Snapshot { int x; double y; Snapshot():x(0),y(0) { } }; Snapshot s; // s.{x,y} will be zero
使用() 進行值初始化
值初始化,用() 表示,初始化成員,無論其類型如何:
struct Snapshot { int x; double y; }; Snapshot s = {x(), y()}; // s.{x,y} will be zero
請注意,值初始化對於模板結構很重要,確保不同類型的正確初始化。
以上是如何將 C 結構體成員初始化為零?的詳細內容。更多資訊請關注PHP中文網其他相關文章!