c语言 memset()函数使用
fedora16,x86
?
函数原型:
/*string.h*/
/* Set N bytes of S to C.? */
extern void *memset (void *__s, int __c, size_t __n) __THROW __nonnull ((1));
即:void *memset(void *s,int ch, unsigned n)
作用:将s所指向的某一块内存中的每个字节的内容全部设置为ch指定的ASCII值, 块的大小由第三个参数指定,这个函数通常为新申请的内存做初始化工作, 其返回值为指向S的指针。
?
示例1:
//memset可以方便地清空结构体、数组#include <stdio.h>#include <string.h>struct my_struct{ int x; char s[10];};int main(int argc, const char *argv[]){ struct my_struct ms; struct my_struct MS[10]; //清空ms ms.x = 0; ms.s[0] = '\0'; //memset清空ms memset(&ms,0,sizeof(struct my_struct)); //memset清空MS memset(MS,0,sizeof(struct my_struct)*10); return 0;}??
?
?
?
?
?