memset是依靠二进制进行初始化,int是4个字节,memset把每个字节都赋值,也就是说,比如memset(a,2,sizeof(a)) 则00000010 00000010 00000010 00000010
而0,则是00000000 00000000 00000000 00000000结果是0
而-1,则是11111111 11111111 11111111 11111111结果也是-1
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <iostream>
#include <cmath>
#include <algorithm>
using namespace std;
int main()
{
int a[5];
memset(a,2,sizeof(a));
for (int i=1;i<=2;i++)
printf("%d\n",a[i]);
//00000010 00000010 00000010 00000010
int s=pow(2,25)+pow(2,17)+pow(2,9)+2;
printf("%d\n",s);
return 0;
}
本文介绍了C/C++中memset函数的基本用法及其初始化数组的特点。通过具体代码示例展示了如何使用memset为数组元素设置特定的二进制值,并解释了不同数值(如0、-1)对内存单元的影响。
3258

被折叠的 条评论
为什么被折叠?



