C語言模擬內存函數(shù)分析之mencpy與memmove
前言
內存是CPU與外存進行溝通的橋梁。
在馮·諾依曼計算機結構中,存儲器是計算機的存儲部件,是信息存儲的核心,用來存放程序和數(shù)據(jù)。 存儲器分為內存(內存儲器、主存儲器)和外存(外存儲器、輔助存儲器)。 CPU能夠直接訪問的存儲器是內存。外存用于幫助主存記憶更多的信息,外存內的信息必須調入內存后,才能被CPU所使用。因此,內存是CPU與外存進行溝通的橋梁。
模擬實現(xiàn)簡單的內存函數(shù)
1.memcpy-內存拷貝函數(shù)(應該拷貝不重疊的內存)
函數(shù)memcpy從source的位置開始向后復制num個字節(jié)的數(shù)據(jù)到destination的內存位置。
這個函數(shù)在遇到 '\0' 的時候并不會停下來。
如果source和destination有任何的重疊,復制的結果都是未定義的。
調試結果
2.memmove-內存拷貝函數(shù)(可以拷貝重疊的內存)
和memcpy的差別就是memmove函數(shù)處理的源內存塊和目標內存塊是可以重疊的。 如果源空間和目標空間出現(xiàn)重疊,就得使用memmove函數(shù)處理。
調試結果
總結
上述簡單模擬實現(xiàn)了兩個內存函數(shù)的使用,相信大家都學會了。如果上述文章有任何問題 ,歡迎大佬們提出質疑,我會虛心學習和改正,最重要的是能共同進步,共同成長,學習好編程。
到此這篇關于C語言模擬內存函數(shù)分析之mencpy與memmove的文章就介紹到這了,更多相關C語言 mencpy內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
C++函數(shù)指針與指針函數(shù)有哪些關系和區(qū)別
函數(shù)指針是一個指針變量,它可以存儲函數(shù)的地址,然后使用函數(shù)指針,這篇文章主要介紹了C++中函數(shù)指針與指針函數(shù)有哪些關系和區(qū)別,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值2022-08-08解析C++編程中異常相關的堆棧展開和throw()異常規(guī)范
這篇文章主要介紹了C++編程中異常相關的堆棧展開和throw()異常規(guī)范,throw()規(guī)范部分文中結合了C++11標準的新特性來講,需要的朋友可以參考下2016-01-01淺談C語言中strcpy,strcmp,strlen,strcat函數(shù)原型
下面小編就為大家?guī)硪黄獪\談C語言中strcpy,strcmp,strlen,strcat函數(shù)原型。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-04-04