做源码网站违法吗,网站推广的方式包括哪些,时网站建设公司管理,网站制作都包括什么每日一个C库函数-#1-memset()
来源
C 标准库 - string.h
声明
void *memset(void *str, int c, size_t n);str#xff1a;要填充的内存块#xff1b;c#xff1a;要被设置的值#xff08;以何值填充#xff09;。该值以 int 形式传递#xff0c;填充内存块时…每日一个C库函数-#1-memset()
来源
C 标准库 - string.h
声明
void *memset(void *str, int c, size_t n);str要填充的内存块c要被设置的值以何值填充。该值以 int 形式传递填充内存块时使用该值无符号字符形式n填充的字符数。一般用 sizeof() 来获取RETURN返回一个指向存储区 str 的指针。
用法作用注意事项
对一个内存空间或变量进行清空初始化一般设置为 0
struct sample s;memset(s, 0, sizeof(s));若对指针变量所指向的内存单元进行清零初始化一定要先对指针变量(eg: p)进行初始化使其指向一个有效的地址此时 n 不是 sizeof(p而应该是 sizeof(*p)
char str[10];
char *p str;
memset(str, 0, sizeof(str)); // √ memset(p, 0, sizeof(str));
memset(p, 0, sizeof(*p)); // × *p 表示字符变量1个字节
memset(p, 0, sizeof(p)); // × p 表示地址4个字节注意n的取值
int array[] {0};memset(array, 1, 6);// array[0] 16843009
// array[1] 257/* 原因 小端模式
array deinit: 00 00 00 00, 00 00 00 00, ...memset: 01 01 01 01, 01 01 00 00, ...array[0] , array[1] , ...01010101 , 00000101 , ...
%d: 16843009 , 257 ,
*/