学习笔记----memset 介绍

先看看帮助文档上的介绍以及实例:

Sets buffers to a specified character.

void *memset(
   void* dest, 
   int c, 
   size_t count 
);
Parameters
dest
Pointer to destination.     目标指针
c
Character to set.               ascii 字符
count
Number of characters.      字节数

Example

/* MEMSET.C: This program uses memset to
 * set the first four characters of buffer to "*".
 */

#include <memory.h>
#include <stdio.h>

void main( void )
{
   char buffer[] = "This is a test of the memset function";

   printf( "Before: %s\n", buffer );
   memset( buffer, '*', 4 );
   printf( "After:  %s\n", buffer );
}

Output

Before: This is a test of the memset function
After:  **** is a test of the memset function

在上面的例子中,字符数组buffer 的前四个字符被替换为‘*’,可见memset函数的做表面作用就是字符替换。

有一个比较好的功能描述:将指定的内存块中的每个字节的内容设置成指定的ACSII字符

memset 最常见的功能就是为新申请的内存做初始化,

比如在C++中:

char  buff[100];

memset(buff,0,sizeof(buff));  

或者 memset(buff,'/0',100) 

或者 memset(buff,' ',sizeof(char)*100)


操作结构也是一样的

structsample_struct
{
       char csName[16];
       int iSeq;
       int iType;
} ;

对于变量
struct sample_strcut stTest
用memset就非常方便:
memset(&stTest,0,sizeof(struct sample_struct));

如果是数组:
struct sample_struct TEST[10];

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






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值