初始化數組可不必使用n重for循環。
原理
memset具有初始化數組的功能,能夠初始化數組中的每一個值。
它是將數組中的每一個數的二進制的每一個字節初始化的。
比如初始化int類型的a數組:memset(a,1,sizeof(a)); 得到的其實是0001 0001 0001 0001。
關於0x......不懂的:我的博客
代碼
#include<cstring>
如果是int數組:
- memset(g, 0, sizeof(g)); //全部清為0;
- memset(g, 0x7f, sizeof(g)); //可全部初始化為一個很大的數(略小於0x7fffffff);
- memset(g, 0x3f, sizeof(g)); //稍小(適用於有加法運算)
- memset(g, 0xbf, sizeof(g)); //負值稍大
- memset(g,-1,sizeof(g)); //全部初始為-1
補充:初始化結構體
memset(結構體變量名,0,sizeof(變量名)); 即可將這個變量中的每一個成員變量都賦值為0。
能用到的差不多就這些了。
