关于memset, 赋值100, 怎么就挂了呢

uniqueroy 2011-07-14 11:39:08
int * a;
a = (int *)malloc(40);
memset((int *)a, 100, 40);

printf("%d ", a[0]);


打出来不是100..
是好长一串数字..

为啥?
...全文
81 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
uniqueroy 2011-07-15
  • 打赏
  • 举报
回复
明白了, memeset以block为单位赋值, 所以我相当与给int的每一位都赋了一个100.
ningto.com 2011-07-15
  • 打赏
  • 举报
回复
memset函数也是以字节为单位进行赋值的,
一般用来初始化为0
pengzhixi 2011-07-14
  • 打赏
  • 举报
回复
memset的用法错误,google下这个函数吧。

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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