首頁 > 後端開發 > C++ > 如何有效地將 C 數組的所有元素初始化為非零值?

如何有效地將 C 數組的所有元素初始化為非零值?

Patricia Arquette
發布: 2024-12-27 21:50:10
原創
469 人瀏覽過

How Can I Efficiently Initialize All Elements of a C   Array to a Non-Zero Value?

理解C 中的數組初始化

C 中數組初始化的主題可能會令人困惑,特別是在嘗試將所有元素初始化為非- 零預設值。在本文中,我們將解決常見問題並提供有效數組初始化的解決方案。

初始值設定

在給定的程式碼中:

int array[100] = {-1};
登入後複製

期望所有元素都初始化為-1。然而,只有第一個元素被設定為-1;其餘元素用一些隨機值初始化為 0。這是因為省略的元素被隱式設定為 0。

要將所有元素初始化為-1,正確的語法是:

int array[100] = {-1, -1, -1, ...};
登入後複製

或者您可以使用std::fill_n 函數從 header:

std::fill_n(array, 100, -1);
登入後複製

效能比較

預設初始化方法(int array[100] = {-1};)和std::fill_n方法有效地執行陣列初始化。雖然預設初始化可能看起來更快,但需要注意的是,它可能依賴實現,並且不能保證在所有情況下都更快。

對於較大的數組,std::fill_n 方法通常更有效,因為它避免了為每個元素分配建立臨時變數。

以上是如何有效地將 C 數組的所有元素初始化為非零值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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