memset函数()通俗易懂解释

什么是memset()函数?

memset()函数原型是 extern void* memset(void *buffer, int length, int buf)
buffer 是指针或者数组,void是要初始化的首内存的首地址;length是要初始化的变为的数据,buf是buffer的长度,即大小。
网络编程中memset函数多用于socket套接字编程中清空数组,如:

memset(IPNumber, 0, 4) ;	//将IPNumber数组中的4位置为0

该函数用于将一段内存空间全部设置为某个字符,一般设置为‘ ’或者 ‘/0’

char length[100];
memset(length,/0,sizeof(length));

memset()函数可以很方便地清空一个数组或结构体类型
数组类型:

struct test_struct arr[10];
memset(arr,0,sizeof(struct test_struct)*10); //是乘以十

结构体类型:

struct test_struct
{
char m_Name[16];
int m_Seq;
int m_Type;
};

对于变量:struct test_srtuct stTest
一般情况下,清空stTest的方法:

stTest.m_Name[0]=0;
stTest.m_Seq=0;
stTest.m_Type=0;

而使用用memset()函数方法:

memset(&stTest,0,sizeof(struct(struct test_struct));

什么时候可以使用memset()函数?

如果马上就要覆盖的地址,便不用初始化。其他的有些就需要初始化了,否则会出现一些野值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值