memset()的正确用法

memset()位于头文件string.h中,用法是将一个字节一个字节的设置为某个数.,例如:memset(a, 0, sizeof(a)), a为数组,就是将a中的每一个字节都赋值为0。

以前没有正确理解memset()的用法,将数组赋值为1时,用memset(a, 1, sizeof(a)), 导致出现很怪的数字。

把一个int的每个字节都设置为1,也就是0×01010101,十进制就是16843009
而在全部置0或者-1就没事。这是因为:
设置为0 就是0×00000000
设置-1就是FF,所以每个字节都置为-1就是0xFFFFFFFF,还是-1。
这也是为何可以置0和置1的原因。

如果想全部置1,只需用for即可。

posted @ 2012-08-18 10:09  山路水桥  阅读(528)  评论(0编辑  收藏  举报