比如定義一個數組int s[50],讓s[50]內沒有值。
2 回答

慕無忌1623718
TA貢獻1744條經驗 獲得超4個贊
C++中定義一個數組,沒有絕對空的概念。
因為,定義數組后,系統就會給數組分配內存空間,該空間可能以前被其它程序使用過,其中留有原來寫入的數據(對于本程序來說,就是垃圾數據),也可能沒有被使用過,其內存數據值為0.
如果想在定義數組后,將數組內容清為0,則可以采用以下三種方法:
初始化為0
1 | int arr[10]={0}; //該語句置第一個元素為0,其余元素系統自動清為0. |
手工逐個元素置0
123 | int arr[10]; //只定義,未初始化 for ( int i=0;i<10;i++ ) //采用循環遍歷數組,逐位賦值為0 a[i]=0; |
采用memset()函數置數組元素為0
123 | #include <string.h> //memset()函數頭文件 int arr[10]; //只定義,未初始化 memset ( arr, 0, sizeof (arr) ); //memset函數,將從arr開始的sizeof(arr)個字節置為0 |
- 2 回答
- 0 關注
- 1719 瀏覽
添加回答
舉報
0/150
提交
取消