C語言模擬內(nèi)存函數(shù)分析之mencpy與memmove
前言
內(nèi)存是CPU與外存進(jìn)行溝通的橋梁。
在馮·諾依曼計(jì)算機(jī)結(jié)構(gòu)中,存儲(chǔ)器是計(jì)算機(jī)的存儲(chǔ)部件,是信息存儲(chǔ)的核心,用來存放程序和數(shù)據(jù)。 存儲(chǔ)器分為內(nèi)存(內(nèi)存儲(chǔ)器、主存儲(chǔ)器)和外存(外存儲(chǔ)器、輔助存儲(chǔ)器)。 CPU能夠直接訪問的存儲(chǔ)器是內(nèi)存。外存用于幫助主存記憶更多的信息,外存內(nèi)的信息必須調(diào)入內(nèi)存后,才能被CPU所使用。因此,內(nèi)存是CPU與外存進(jìn)行溝通的橋梁。
模擬實(shí)現(xiàn)簡(jiǎn)單的內(nèi)存函數(shù)
1.memcpy-內(nèi)存拷貝函數(shù)(應(yīng)該拷貝不重疊的內(nèi)存)
![]()
函數(shù)memcpy從source的位置開始向后復(fù)制num個(gè)字節(jié)的數(shù)據(jù)到destination的內(nèi)存位置。
這個(gè)函數(shù)在遇到 '\0' 的時(shí)候并不會(huì)停下來。
如果source和destination有任何的重疊,復(fù)制的結(jié)果都是未定義的。

調(diào)試結(jié)果

2.memmove-內(nèi)存拷貝函數(shù)(可以拷貝重疊的內(nèi)存)

和memcpy的差別就是memmove函數(shù)處理的源內(nèi)存塊和目標(biāo)內(nèi)存塊是可以重疊的。 如果源空間和目標(biāo)空間出現(xiàn)重疊,就得使用memmove函數(shù)處理。

調(diào)試結(jié)果

總結(jié)
上述簡(jiǎn)單模擬實(shí)現(xiàn)了兩個(gè)內(nèi)存函數(shù)的使用,相信大家都學(xué)會(huì)了。如果上述文章有任何問題 ,歡迎大佬們提出質(zhì)疑,我會(huì)虛心學(xué)習(xí)和改正,最重要的是能共同進(jìn)步,共同成長,學(xué)習(xí)好編程。
到此這篇關(guān)于C語言模擬內(nèi)存函數(shù)分析之mencpy與memmove的文章就介紹到這了,更多相關(guān)C語言 mencpy內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C++函數(shù)指針與指針函數(shù)有哪些關(guān)系和區(qū)別
函數(shù)指針是一個(gè)指針變量,它可以存儲(chǔ)函數(shù)的地址,然后使用函數(shù)指針,這篇文章主要介紹了C++中函數(shù)指針與指針函數(shù)有哪些關(guān)系和區(qū)別,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值2022-08-08
如何調(diào)用C標(biāo)準(zhǔn)庫的exit函數(shù)詳解
這篇文章主要給大家介紹了關(guān)于如何調(diào)用C標(biāo)準(zhǔn)庫的exit函數(shù)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07
解析C++編程中異常相關(guān)的堆棧展開和throw()異常規(guī)范
這篇文章主要介紹了C++編程中異常相關(guān)的堆棧展開和throw()異常規(guī)范,throw()規(guī)范部分文中結(jié)合了C++11標(biāo)準(zhǔn)的新特性來講,需要的朋友可以參考下2016-01-01
C語言函數(shù)的遞歸和調(diào)用實(shí)例分析
一個(gè)函數(shù)在它的函數(shù)體內(nèi)調(diào)用它自身稱為遞歸調(diào)用。這種函數(shù)稱為遞歸函數(shù)。C語言允許函數(shù)的遞歸調(diào)用。在遞歸調(diào)用中,主調(diào)函數(shù)又是被調(diào)函數(shù)。執(zhí)行遞歸函數(shù)將反復(fù)調(diào)用其自身,每調(diào)用一次就進(jìn)入新的一層2013-07-07
淺談C語言中strcpy,strcmp,strlen,strcat函數(shù)原型
下面小編就為大家?guī)硪黄獪\談C語言中strcpy,strcmp,strlen,strcat函數(shù)原型。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-04-04

