memset的妙用

来源:互联网 发布:wifi模块怎么传输数据 编辑:程序博客网 时间:2024/06/04 01:09

             以前在学校学习编程的时候,都没有怎么用memset初始化内存。但是在实际开发中这是必要的,你新申请的某块内存可能有其他软件使用过的残留的数据,所以要清空。一个字符串数组也需要初始化。

#include <stdio.h>  #include <string.h>#include <stdlib.h>  int main()  {  char str1[]="abcdefg";char str2[5]={0};    strncpy(str2,str1,3);printf("%s\n",str2);        return 0;  }  

打印:abc

我们使用strncpy没有手动加'\0',还是正确输出,初始化也省了一桩事。


#include <stdio.h>  #include <string.h>#include <stdlib.h>  int main()  {  char str1[]="abcdefg";char str2[5];    strncpy(str2,str1,3);str2[3]=0;printf("%s\n",str2);        return 0;  }  

这样不初始化需要手动补上0或'\0',那我觉得还是初始化一下吧。如果是全局的字符数组必须要初始化。


原创粉丝点击