日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

c语言深入浅出(一)strcpy和memcpy的区别

發布時間:2023/11/30 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c语言深入浅出(一)strcpy和memcpy的区别 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

c語言深入淺出(一)strcpy和memcpy的區別

strcpy和memcpy都是c語言的庫函數
strcpy:只用于字符串的復制,當碰到‘\0’就停止了
memcpy:用于這個內存的拷貝,適用于結構體、字符數組、類等

char * strcpy(char * dest, const char * src) // 實現src到dest的復制 {if ((src == NULL) || (dest == NULL)) //判斷參數src和dest的有效性{return NULL;}char *strdest = dest; //保存目標字符串的首地址while ((*strDest++ = *strSrc++)!='\0'); //把src字符串的內容復制到dest下return strdest; } void *memcpy(void *memTo, const void *memFrom, size_t size) {if((memTo == NULL) || (memFrom == NULL)) //memTo和memFrom必須有效return NULL;char *tempFrom = (char *)memFrom; //保存memFrom首地址char *tempTo = (char *)memTo; //保存memTo首地址 while(size -- > 0) //循環size次,復制memFrom的值到memTo中*tempTo++ = *tempFrom++ ; return memTo; }

兩者不同之處

  • 復制的內容不同:strcpy復制字符串,遇到‘\0’就停止了,memcpy拷貝內存
  • 復制方法:strcpy沒有指定大小的參數,可能導致內存溢出
  • 總結

    以上是生活随笔為你收集整理的c语言深入浅出(一)strcpy和memcpy的区别的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。