加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

是否保证memset会清除结构中的填充位?

发布时间:2020-12-16 05:55:49 所属栏目:百科 来源:网络整理
导读:一般来说,根据C标准,它是否保证带有0的memset()会清零C结构中的填充位? gcc怎么样? 例如,像: struct MyStruct{ unsigned char member1; unsigned int member2; char member3; unsigned char member4; float member5; };struct MyStruct ms;memset(ms,size
一般来说,根据C标准,它是否保证带有0的memset()会清零C结构中的填充位?

gcc怎么样?

例如,像:

struct MyStruct
{
    unsigned char   member1;
    unsigned int    member2;
    char        member3;
    unsigned char   member4;
    float       member5;    
};

struct MyStruct ms;

memset(&ms,sizeof( struct MyStruct));

解决方法

也许值得注意的是,memset不知道你的结构(或数组,或原始,或任何大部分的内存,你碰巧释放它),所以即使它想要保持填充位不变,甚至知道他们在哪里.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读