首頁 > 後端開發 > C++ > 如何將 C 結構體成員初始化為零?

如何將 C 結構體成員初始化為零?

DDD
發布: 2024-12-08 10:08:12
原創
282 人瀏覽過

How Can I Initialize C   Struct Members to Zero?

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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板