首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >memset的功能

memset的功能
EN

Stack Overflow用户
提问于 2014-12-12 13:18:46
回答 2查看 384关注 0票数 0

我在一些地方读到memset写的是“逐字节的”。

假设我有一个数组,int a[100],并且我使用memset(a,127,sizeof(a));,那么每个整数的每个字节都会被赋予位集1111111吗?

也就是说,数组的每个元素现在都会包含一个非常大的整数吗?(准确地说是2139062143)

EN

回答 2

Stack Overflow用户

发布于 2014-12-12 13:21:04

可以,如果您将memset()的第三个参数更正为

代码语言:javascript
复制
memset(a, 127, sizeof(a));
票数 3
EN

Stack Overflow用户

发布于 2014-12-12 13:23:35

代码语言:javascript
复制
void* memset( void* dest, int ch, std::size_t count );

将值ch转换为无符号字符,并将其复制到dest指向的对象的每个第一个计数字符中。如果对象不是普通可复制的(例如,标量、数组或C兼容结构),则行为是未定义的。如果count大于dest指向的对象的大小,则行为未定义。

所以,是的,每个字节都会被分配111...

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27437312

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档