memset 函数是内存赋值函数,用来给某一块内存空间进行赋值的,具体作用是将数字以单个字节逐个拷贝的方式放到指定的内存中去。
以int类型为例,int类型的变量一般占用4个字节,一个字节又由8个二进制数位组成。
memset(a,b,sizeof(a))
将十进制数b转换成八位二进制数,然后分别拷贝给int类型变量中的每个字节,组合成32进制的二进制数,再转换为十进制数,就为赋值结果。
常用赋值举例:
memset(a,0,sizeof(a))表示为 00000000 00000000 00000000 00000000,赋值结果为0
memset(a,-1,sizeof(a))表示为 11111111 11111111 11111111 11111111,赋值结果为-1
memset(a,127,sizeof(a))表示为 01111111 01111111 01111111 01111111,赋值结果为2139062143
memset(a,128,sizeof(a))表示为 10000000 10000000 10000000 10000000,赋值结果为-2139062144