爬树专用防蜂服哪种好:C语言编程有关memset函数

来源:百度文库 编辑:杭州交通信息网 时间:2024/04/27 19:26:49
用memset给数组赋初值的时候
main()
{int i,b[10];
memset(b,0,10);
for(i=0;i<10;i++)printf("%d",b[i]);
}
为什么结果不是0000000000呀?

在你调用memset()函数时,第三个参数大小不对,应该是memset(b,0,40)。
实际上一个整型的变量在32位机的内存中占用4个字节
的大小。如:你可以定义一个整型变量a然后用:
printf("%d",sizeof(a));看到它在内存中占用的字节数。

当然建议在调用memset()函数时用sizeof()函数来自动
取它的大小,如你的例子中可以用:
memset(b,0,sizeof(b));

memset(b,0,10*sizeif(int));
才对,
因为memset操作得函数都是以byte为单位得,
具体就是上面你只将10byte置0了,而一个int是占4个byte得

楼上的应该是sizeof啊 呵呵