1. 程式人生 > >如何將陣列初始化為全0?

如何將陣列初始化為全0?

C語言中,宣告陣列的語句:

int arr[100];

這樣宣告得到的數組裡面的儲存的是隨機的我們不知道的資料,對使用者來說就是垃圾。有許多情況我們要將陣列初始化為全零的情況才能進行其他操作。

最簡單的方法就是用一個迴圈吧陣列所有元素設定為0:

int arr[100];
int i = 0;
for(i = 0 ; i < 100 ; i++)
    arr[i] = 0;  //This will make all ZERO

我們還可以利用其他幾種方式做到初始化陣列為0:

1、全域性變數和靜態變數初始化時會自動被設定為0。如果們宣告全域性變數,那麼他在執行前會變成全0。

int arr[1024]; //
This is global int main(void) { //statements }

2、對於區域性陣列我們還有簡寫的初始化語法。如果一個數組被部分初始化,沒有被初始化的元素會被自動設定為相應型別的0。這是編譯器自動完成的。可以這樣寫:

int main(void)
{
    int arr[1024] = {0};  // This will make all ZERO
    // statements
}

3、你還可以用memset函式在程式開始時初始化陣列。這條命令這在你已經修改了陣列之後又想將它重置為全0特別有用。

int arr[1024];
arr[5] = 67;
memset(ZEROARRAY, 
0, 1024); //This will reinitialize all to ZERO