memset 初始化二维数组时碰到的问题

喜多 2011-10-04 10:32:14
 
#define MAX 100000
const int MAXN = 5;
int len[MAXN][MAXN];
memset(len,MAX,sizeof(len));//失败,并不能让len数组所有的值是100000,而是-1600085856
memset(len,-1,sizeof(len))//成功,并且len所有的值都是-1;
memset(len,-2,sizeof(len))//失败

想请问一下这是什么问题,是不是我的memset函数参数使用错误?希望大家能够帮忙解决一下~~
...全文
844 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
喜多 2011-10-04
  • 打赏
  • 举报
回复
谢谢大家哈~~非常感谢各位大牛
柯本 2011-10-04
  • 打赏
  • 举报
回复
看看这个就明白了:
http://baike.baidu.com/view/982208.htm
Jake443403168 2011-10-04
  • 打赏
  • 举报
回复
void *memset( void *dest, int c, size_t count );

The memset function sets the first count bytes of dest to the character c.

用memset对非字符型数组赋初值是不可取的!
zhao1zhong6 2011-10-04
  • 打赏
  • 举报
回复
//16进制 10进制
0X05050505 = 84215045
vilnies 2011-10-04
  • 打赏
  • 举报
回复
memset是内存操作,作用是设置每一个“字节”的值。第一个参数是内存地址,第2个参数是设置的值(0x00 - 0xff),第3个参数是字节数。INT是4字节,4个字节都设-2你说结果是什么?
qq120848369 2011-10-04
  • 打赏
  • 举报
回复
memset是按字节赋值的。。。

别乱来。。
zhao1zhong6 2011-10-04
  • 打赏
  • 举报
回复
sizeof(len) == 100;
sizeof(len) != 25;

64,281

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧