欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C語(yǔ)言中memcpy 函數(shù)的用法詳解

 更新時(shí)間:2017年07月05日 15:06:06   作者:景初淺行  
這篇文章主要介紹了C語(yǔ)言中memcpy 函數(shù)的用法詳解的相關(guān)資料,需要的朋友可以參考下

C語(yǔ)言中memcpy 函數(shù)的用法詳解

memcpy(內(nèi)存拷貝函數(shù))

c和c++使用的內(nèi)存拷貝函數(shù),memcpy函數(shù)的功能是從源src所指的內(nèi)存地址的起始位置開(kāi)始拷貝n個(gè)字節(jié)到目標(biāo)dest所指的內(nèi)存地址的起始位置中。

void* memcpy(void* destination, const void* source, size_t num);
void* dest 目標(biāo)內(nèi)存  const void* src 源內(nèi)存  size_t num 字節(jié)個(gè)數(shù)

庫(kù)中實(shí)現(xiàn)的memcpy函數(shù)

struct { 
  char name[40]; 
  int age; 
} person, person_copy; 
 
int main() 
{ 
  char myname[] = "Pierre de Fermat"; 
  /* using memcpy to copy string: */ 
  memcpy(person.name, myname, strlen(myname) + 1); 
  person.age = 46; 
  /* using memcpy to copy structure: */ 
  memcpy(&person_copy, &person, sizeof(person)); 
  printf("person_copy: %s, %d \n", person_copy.name, person_copy.age); 
  system("pause"); 
  return 0; 
} 


模擬實(shí)現(xiàn)memcpy函數(shù)

void* My_memcpy(void* dest, const void* src, size_t num) 
{ 
  assert(dest); 
  assert(src); 
  void* p = dest; 
  while (num--) 
  { 
    *(char*)dest = *(char*)src; 
    dest = (char*)dest + 1; 
    src = (char*)src + 1; 
  } 
  return p; 
} 
 
int main() 
{ 
  char dest[56]; 
  char src[] = "abcb  xxxx zzzzzzzzzzzzy"; 
  printf("%s\n", My_memcpy(dest, src, strlen(src) + 1)); 
  system("pause"); 
  return 0; 
} 

感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!

相關(guān)文章

  • C語(yǔ)言實(shí)現(xiàn)密碼本小項(xiàng)目

    C語(yǔ)言實(shí)現(xiàn)密碼本小項(xiàng)目

    這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)密碼本小項(xiàng)目,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-02-02
  • C++中字符串查找操作的兩則實(shí)例分享

    C++中字符串查找操作的兩則實(shí)例分享

    這篇文章主要介紹了C++中字符串的查找操作的兩則實(shí)例分享,分別是找到第一個(gè)只出現(xiàn)一次的字符以及找出連續(xù)最長(zhǎng)的數(shù)字串的方法,需要的朋友可以參考下
    2016-02-02
  • C++?Cartographer源碼中關(guān)于傳感器的數(shù)據(jù)傳遞實(shí)現(xiàn)

    C++?Cartographer源碼中關(guān)于傳感器的數(shù)據(jù)傳遞實(shí)現(xiàn)

    這篇文章主要介紹了C++?Cartographer源碼中關(guān)于傳感器的數(shù)據(jù)傳遞實(shí)現(xiàn),前面已經(jīng)談到了Cartographer中添加軌跡的方法和傳感器的數(shù)據(jù)流動(dòng)走向。發(fā)現(xiàn)在此調(diào)用了LaunchSubscribers這個(gè)函數(shù)來(lái)訂閱相關(guān)傳感器數(shù)據(jù)
    2023-03-03
  • Qt C++實(shí)現(xiàn)錄屏錄音功能的示例詳解

    Qt C++實(shí)現(xiàn)錄屏錄音功能的示例詳解

    實(shí)現(xiàn)一個(gè)錄屏+錄音的功能且需要快速開(kāi)發(fā),Qt無(wú)疑是一個(gè)非常好的選擇。他有豐富的類(lèi)庫(kù)和接口可以很好的滿足開(kāi)發(fā)需求。本文就來(lái)和大家聊聊具體的實(shí)現(xiàn)方法吧
    2023-03-03
  • C語(yǔ)言 語(yǔ)義陷阱超詳細(xì)梳理總結(jié)

    C語(yǔ)言 語(yǔ)義陷阱超詳細(xì)梳理總結(jié)

    這篇文章主要介紹了C語(yǔ)言常見(jiàn)的一些語(yǔ)義陷阱,梳理的比較全面,對(duì)我們做開(kāi)發(fā)的過(guò)程中有一定幫助,感興趣的朋友快來(lái)看看吧
    2022-03-03
  • C++11智能指針中的 unique_ptr實(shí)例詳解

    C++11智能指針中的 unique_ptr實(shí)例詳解

    unique是獨(dú)特的、唯一的意思,故名思議,unique_ptr可以“獨(dú)占”地?fù)碛兴赶虻膶?duì)象,它提供一種嚴(yán)格意義上的所有權(quán)。這篇文章主要介紹了C++11智能指針中的 unique_ptr實(shí)例詳解,需要的朋友可以參考下
    2020-06-06
  • Vscode搭建遠(yuǎn)程c開(kāi)發(fā)環(huán)境的圖文教程

    Vscode搭建遠(yuǎn)程c開(kāi)發(fā)環(huán)境的圖文教程

    很久沒(méi)有寫(xiě)C語(yǔ)言了,今天抽空學(xué)習(xí)下C語(yǔ)言知識(shí),接下來(lái)通過(guò)本文給大家介紹Vscode搭建遠(yuǎn)程c開(kāi)發(fā)環(huán)境的詳細(xì)步驟,本文通過(guò)圖文實(shí)例代碼相結(jié)合給大家介紹的非常詳細(xì),需要的朋友參考下吧
    2021-11-11
  • C++ AfxBeginThread的介紹/基本用法

    C++ AfxBeginThread的介紹/基本用法

    這篇文章主要簡(jiǎn)單介紹了C++ AfxBeginThread的基本用法,十分的細(xì)致,有需要的小伙伴可以參考下。
    2015-06-06
  • C語(yǔ)言二叉排序樹(shù)的創(chuàng)建,插入和刪除

    C語(yǔ)言二叉排序樹(shù)的創(chuàng)建,插入和刪除

    本文主要介紹了Java實(shí)現(xiàn)二叉排序樹(shù)的查找、插入、刪除、遍歷等內(nèi)容。具有很好的參考價(jià)值,下面跟著小編一起來(lái)看下吧
    2021-10-10
  • C++枚舉類(lèi)型enum與enum class的使用

    C++枚舉類(lèi)型enum與enum class的使用

    這篇文章主要介紹了C++枚舉類(lèi)型enum與enum class的使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08

最新評(píng)論