c语言调用memset函数
一、memset函数的定义与作用
memset 函数可以用来设置一块内存空间的值,其函数原型如下:
```
void *memset(void *s, int c, size_t n);
```
其中,
`s` - 要填充的内存块的起始地址,类型为指向 void 的指针
`c` - 要填充的值,转化成 unsigned char 后作为填充的值
`n` - 要填充的内存块的长度,单位是字节,类型为 size_t
memset 函数可以填充内存空间,例如将一个数组中的元素全部置为 0,或者初始化一个结构体等。如果要弄清楚变量怎么填充数据,特别是在调用 malloc 或者 calloc 函数时,可能就需要用到 memset 函数。
1. 将一块内存中的所有字节都置为 0molloc函数
```
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
for (i = 0; i < n; i++)
{
printf("%d ", a[i]);
}
putchar('\n');
free(a); //释放内存空间
return 0;
}
```
上面的例子演示了如何使用 memset 函数将一个数组中的元素全部置为 0。首先,使用 malloc 函数申请一块内存,然后使用 memset 函数将这块内存中的所有元素置为 0,最后进行输出,并释放内存空间。
2. 初始化结构体变量
struct Book
{
char title[50];
char author[50];
char subject[100];
int id;
};
memset(&book1, 0, sizeof(struct Book)); //将结构体变量中的所有成员元素都清零
strcpy(book1.title, "C Programming");
strcpy(book1.author, "Wombat");
strcpy(book1.subject, "Computer Science");
book1.id = 12345;
return 0;
}
```
总之,memset 函数具有在内存中设置指定值的能力,该函数的最常见用途是清零一块内存。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论