如何將陣列初始化為全0?
阿新 • • 發佈:2019-01-06
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