zoukankan      html  css  js  c++  java
  • C语言中memset函数(转)

    memset是linux环境下一个直接操作内存空间C语言函数。

    -------------------------------------一句话:可以全部清空,可以设置值------------------------------------------------------------------------------------------------------

    void *memset(void *s, char ch, unsigned n);

    将s所指向的某一块内存的首 n 个字节的值设为值 c

     1  #include <string.h>
     2   #include <stdio.h>
     3   #include <memory.h>
     4   int main(void)
     5   {
     6   char buffer[] = "Hello world/n";
     7   printf("Buffer before memset: %s/n", buffer);
     8   memset(buffer, '*', strlen(buffer) );
     9   printf("Buffer after memset: %s/n", buffer);
    10   return 0;
    11   }

    输出结果:

      Buffer before memset: Hello world

      Buffer after memset: ***********

    memset() 函数常用于内存空间初始化。

    char str[100];
    memset(str,0,100);
    

      memset()的深刻内涵:用来对一段内存空间全部设置为某个字符,一般用在对定义的字符串进行初始化为‘memset(a, '/0', sizeof(a));

      memcpy用来做内存拷贝,你可以拿它拷贝任何数据类型的对象,可以指定拷贝的数据长度;例:char a[100],b[50]; memcpy(b, a, sizeof(b));注意如用sizeof(a),会造成b的内存地址溢出。

    memset可以方便的清空一个结构类型的变量或数组。

     1  struct sample_struct
     2   {
     3   char csName[16];
     4   int iSeq;
     5   int iType;
     6   };
     7 
     8     struct sample_strcut stTest;
     9 
    10 
    11  memset(&stTest,0,sizeof(struct sample_struct));  //清零

    如果是数组:

    struct sample_struct TEST[10];

    memset(TEST,0,sizeof(struct sample_struct)*10);

  • 相关阅读:
    $(this)的意思
    Springmvc框架文件上传单文件上传
    保险业务知识价税分离
    SpringMVC框架,json
    使用springmvc框架实现多文件上传
    oracle数据库中的绑定变量
    使用Springmvc框架实现多文件上传(二)
    Springmvc框架json对象的处理
    Springmvc框架json数据传递处理,解决方案2
    [算法] 6 种排序的重写,很熟练!
  • 原文地址:https://www.cnblogs.com/coversky/p/7008486.html
Copyright © 2011-2022 走看看