memset为内存填充函数,可以用它对一片内存空间进行初始化, 它可以一字节一字节地把整个数组设置为一个指定的值
其原型为
void *memset(void *s, int v, size_t n)
这里s可以是数组名,也可以是指向某一内在空间的指针;
v为要填充的值;
n为要填充的字节数,通常为sizeof(s);
使用memset时要注意的是,memset是逐字节进行填充,所以s一般为char *型。
ISO/IEC C标准规定了标准库函数memset要在头文件string.h中被声明。
ISO/IEC C++标准规定了标准库函数std::memset要在头文件cstring中被声明。
一般嵌入式环境是用C的,搜索了一下,没找到stm32是否实现了标准C的资料。
memset是计算机中C/C++语言函数。将s所指向的某一块内存中的前n个 字节的内容全部设置为ch指定的ASCII值, 第一个值为指定的内存地址,块的大小由第三个参数指定,这个函数通常为新申请的内存做初始化工作, 其返回值为指向s的指针。
c语言的memset函数位于string.h头文件中。比如,这个例子会输出15个a:
#include <stdio.h>
#include <string.h>
int main()
{
char s[16]
memset(s,'a',15)
s[15]=0
printf("%s\n",s)
return 0
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)