memset用法(转)

memset的正规用法是只能用来初始化char类型的数组的,也就是说,它只接受0x00-0xFF的赋值
然而,在大多数情况下,需要对一个double或int的数组赋一个相对很大或很小的初值

以下的赋值方式是不正确的:

memset(arr,2147483647,sizeof(arr));

但是可以用一些技巧,来得到一个差不多的最大值,比如像:

memset(arr,0x7F,sizeof(arr));

它将arr中的值全部赋为2139062143
这是用memset对int赋值所能达到的最大值

类似的还有:

memset(arr,0x80,sizeof(arr)); //set int to -2139062144
memset(arr,0x7F,sizeof(arr)); //set double to 1.38242e+306
memset(arr,0xFE,sizeof(arr)); //set double to -5.31401e+303

posted @ 2015-03-31 08:09  NowAndForever  阅读(133)  评论(0)    收藏  举报