memset
今天在做2051时一直不能A,后来发现竟然是上一次的数据下一次还会输出来,尝试了多种方法均不行(把字符串在while 循环里面也过不了),最终想起了小白曾经教过memset;于是发现了memset的好处,决定以后在定义字符串时先memset 一下,下面来详细介绍一下memset的功能(百度文库里面讲得很详细,不过觉得这部分信息跟适合ME)
函数原型void *memset( void *s,int ch,unsigned len ),在”string.h”的头文件中;参数表大小是以字节为单位,不过不同的参数类型不同的的机器,参数所占字节可能不同所以一般用sizeof来确定长度;ch即为*s想要初始化的值,可以为int,char,或其他,s即为你想要初始化的内存空间首地址,下面举例说明:
char s[100]; memset( s,0,len ); 即将s全部初始化为ASCII 的‘\0’,这个函数也可以用于重新初始化s;
memset还可以清空结构体:
此函数针对char型赋值,但对int型赋0时可以用它,至于len是整个*s所占的字节
如 struct stu friends ;清空memset ( friends,0,sizeof ( struct stu ) )