memset的妙用
? ? ? ? ? ? ?以前在學校學習編程的時候,都沒有怎么用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',那我覺得還是初始化一下吧。如果是全局的字符數組必須要初始化。
總結
- 上一篇: TCP_DEFER_ACCEPT
- 下一篇: getpeername()函数