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