memset不能为int型数组初始化吗?如
int a[100];
memset(a,1,sizeof(a));
可是a却被赋值成168430090,168430090.。。。。。。。。。
这是怎么回事?
int a[100];
memset(a,1,sizeof(a));
可是a却被赋值成168430090,168430090.。。。。。。。。。
这是怎么回事?
就是对a指向的内存的sizeof(a)个字节进行赋值,每个都用ASCII为1的字符去填充,转为二进制后,1就是00000001,占一个字节。一个INT元素是4字节,合一起就是1000000010000000100000001,就等于16843009,就完成了对一个INT元素的赋值了。
本文深入探讨了使用memset初始化整型数组时出现的常见误解,通过实例解释了如何正确使用memset函数,并揭示了其内部工作原理。重点在于避免将数组错误初始化为看似随机的值,帮助开发者更准确地掌握内存操作的基本技巧。
5351

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



