初始化数组可不必使用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。
能用到的差不多就这些了。
原文地址:https://www.cnblogs.com/yinyuqin/p/10162716.html
时间: 2024-10-14 15:48:59