memset函数的原型为:void *memset(void *, int , unsigned),这个函数可以一字节一字节地把整个数组设置为一个指定的值。第1个参数void *表示地址,用于接收数组的起始地址, 第2个参数int 是设置数组每个字节的值。第3个参数是数组的长度(字节数,不是元素个数)。
一直以来我都把第二个参数当成了数组元素的值,结果今天就犯了错误,我在程序里这么写:
#define ROW 100
short nArray[ROW];
memset(nArray, 1, ROW * sizeof(short);结果数组每个元素都变成了257,二进制即为0000 0001 0000 0001
本文详细介绍了memset函数的正确用法及常见误区。该函数用于将内存块中的一定数量的字节设置为特定值。文中通过实例说明了如何避免将数组元素值与字节值混淆,避免出现意料之外的结果。
1983

被折叠的 条评论
为什么被折叠?



