int a[8]; memset(a,0,sizeof(a));//如果你试过了这样写,查完内存单元你会回来骂我......是的,它没问题。它为什么没问题?瞎猫撞上死耗子。
--因为在很多的编译器实现中,会提前将内存清零,所以说只要不越界,人工清不清零,或部分清零,效果都是一样的.
--sizeof(a)是指组a的元素个数,而不是占用的字节数,要想实现编程者的本意,我觉得可这么写 sizeof(a) *sizeof(a[0],
如果嫌这样写烦,可以定义成宏,比如
#define SizeOf(x) sizeof(x)*sizeof(x[0])
这样
memset(a,0,SizeOf(a));//就OK了
[ 本帖最后由 能圈就圈 于 2012-1-10 15:21 编辑 ]引用: NPP_EXEC: "C complier"
cmd /c "gcc -o E:\test\HEX E:\test\HEX.c "
Process started >>>
E:\test\HEX.c: 在函数‘_MemSet’中:
E:\test\HEX.c:24:3: 错误:expected ‘;’ before ‘{’ token
<<< Process finished.
================ READY ================