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