首頁 >後端開發 >C++ >如何在 C 中有效地將所有數組元素初始化為預設值?

如何在 C 中有效地將所有數組元素初始化為預設值?

DDD
DDD原創
2024-12-24 16:03:14276瀏覽

How to Efficiently Initialize All Array Elements to a Default Value in C  ?

將所有陣列元素初始化為預設值

在C 中,您可以使用下列方法將陣列的所有元素初始化為預設值:以下語法:

int array[100] = {0};

這會將陣列的所有元素設為0。但是,您可能會遇到嘗試將所有元素初始化為非零值時出現意外行為,例如 -1。

將所有元素設為非零值

語法:

int array[100] = {-1};

指示編譯器僅將第一個元素設為-1 ,而其餘元素將預設為0。將所有元素初始化為-1,您可以使用以下方法:

  • std::fill_n(C 標準函式庫):
std::fill_n(array, 100, -1);
  • 基於循環的初始化(便攜式C):
for (int i = 0; i < 100; i++) {
  array[i] = -1;
}

效能考量

預設初始化是否比基於循環的方法更快取決於編譯器和目標等因素平台。一般來說,現代編譯器可以透過使用特定於平台的內在函數來最佳化基於循環的初始化。因此,效能差異通常可以忽略不計。

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

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn