C語言中的字符數組清零方法


---恢復內容開始---

1.利用memset函數

void *memset(void *s, int ch, size_t n);
函數解釋:將s中當前位置后面的n個字節 (typedef unsigned int size_t )用 ch 替換並返回 s 。
memset:作用是在一段內存塊中填充某個給定的值,它是對較大的 結構體數組進行清零操作的一種最快方法
舉個例子:
#include<stdio.h>
#include<string.h>
int main()
{
    char a[10];
    scanf("%s",a);
    memset(a,'\0',sizeof(a));
    printf("%s\n",a);
}
//本函數段就是利用memset函數將數組a清零
//結果:輸入asd
//
2.利用strcpy函數【法一】
原型聲明:char *strcpy(char* dest, const char *src);
頭文件:#include < string.h> 和 #include <stdio.h>
功能:把從src地址開始且含有NULL結束符的字符串復制到以dest開始的 地址空間
說明:src和dest所指內存區域不可以重疊且dest必須有足夠的空間來容納src的字符串。
返回指向dest的 指針
 舉個例子:
#include<stdio.h>
#include<string.h>
int main()
{
   char a[10];
   scanf("%s",a);
   strcpy(a," ");
   printf("%s\n",a);
}
//本函數段就是利用strcpy函數將數組a清零
//結果:輸入asd
//
 3.利用strcpy函數【法二】
舉個例子:
#include<stdio.h>
#include<string.h>
int main()
{
   char a[10],s[10]=" ";
   scanf("%s",a);
   strcpy(a,s);
   printf("%s\n",a);
}
//結果:輸入asd
//結果仍然為上圖所示
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

---恢復內容結束---


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM