• work1


    memset

    编辑 锁定

    memset是计算机中C/C++语言函数。将s所指向的某一块内存中的前n个 字节的内容全部设置为ch指定的ASCII值, 第一个值为指定的内存地址,块的大小由第三个参数指定,这个函数通常为新申请的内存做初始化工作, 其返回值为指向s的指针
    中文名
    memset函数
    别    称
    char型初始化函数
    应用学科
    计算机
    适用领域范围
    C/C++
    头文件
    <memory.h>或<string.h>
    函    数
    void *memset
    原    型
    (void *s,int ch,size_t n);

    memset函数介绍

    编辑
    void *memset(void *s, int ch, size_t n);
    函数解释:将s中前n个字节 (typedef unsigned int size_t )用 ch 替换并返回 s 。
    memset:作用是在一段内存块中填充某个给定的值,它是对较大的结构体数组进行清零操作的一种最快方法[1]  。

    memset常见错误

    编辑
    第一: 搞反了 ch 和 n 的位置.
    一定要记住如果要把一个char a[20]清零,一定是 memset(a,0,20*sizeof(char));
    而不是 memset(a,20*sizeof(char),0);
    第二: 过度使用memset,我想这些程序员可能有某种心理阴影,他们惧怕未经初始化的内存,所以他们会写出这样的代码:
    1
    2
    3
    4
    char buffer[4];
    memset(buffer,0,sizeof(char)*4);
    strcpy(buffer,"123");
    //"123"中最后隐藏的''占一位,总长4位。
    这里的memset是多余的. 因为这块内存马上就被全部覆盖,清零没有意义.
  • 相关阅读:
    C++随机迷宫生成[转载]
    浮点指令
    表盘
    TabControl+ListView
    ListView
    Tooltips2
    随机数
    Tooltips
    iOS9 http不能访问网络——在Xcode中将https改成http方式
    iOS开发——音频篇——音效的播放
  • 原文地址:https://www.cnblogs.com/xiajianwei/p/5362945.html
Copyright © 2020-2023  润新知