最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C語言內(nèi)存操作函數(shù)詳解

 更新時間:2021年10月19日 09:02:22   作者:wwhdsg  
這篇文章主要介紹了C語言全部內(nèi)存操作函數(shù)的實現(xiàn)詳細講解,作者用圖文代碼實例講解的很清晰,有感興趣的同學(xué)可以研究下

頭文件:#include<memory.h>

1.memcpy

作用:內(nèi)存拷貝

函數(shù)原型:

void *memcpy( void *dest, const void *src, size_t count );

使用:

使用格式:memcpy(目的地,原,想操作內(nèi)存大?。▎挝蛔止?jié)))

把 "參數(shù)2" 起始的 "參數(shù)3" 個字節(jié) 內(nèi)容拷貝到 "參數(shù)1 '

memecpy函數(shù)類似于strncpy。

例:

#include <memory.h>
#include <string.h>
#include <stdio.h>
int main()
{
	int aa[] = { 1,2,3,4 };
	int bb[10] = { 0 };
	memcpy(bb, aa, 4 * sizeof(int));//把aa數(shù)組中4*4(每個int類型是4字節(jié))內(nèi)容拷貝到bb數(shù)組
	for (int i = 0; i < 10; i++) //打印bb數(shù)組全部數(shù)據(jù)
	{
		printf("%d ", bb[i]);
	}	
}

最后bb字符串中前4*4個字節(jié)的內(nèi)容被改為aa的內(nèi)容

注意 :memcpy不能拷貝重疊內(nèi)存。

#include <memory.h>
#include <string.h>
#include <stdio.h>
int main()
{
	int aa[] = { 1,2,3,4,5,6,7,8,9,10 };
	my_memcpy(aa + 2, aa, 24);
	for (int i = 0; i < 10; i++)
	{
		printf("%d ", aa[i]);
	}
}

輸出:

拷貝重疊內(nèi)存會出現(xiàn)這樣的問題。

2.memmove

作用:內(nèi)存拷貝(可拷貝重疊內(nèi)存)

原型:

void *memmove( void *dest, const void *src, size_t count );
 

使用與memcpy一樣,只是memmove可以拷貝重疊內(nèi)存

#include <memory.h>
#include <string.h>
#include <stdio.h>
int main()
{
	int aa[] = { 1,2,3,4,5,6,7,8,9,10 };
	memmove(aa + 2, aa, 24);
	for (int i = 0; i < 10; i++)
	{
		printf("%d ", aa[i]);
	}
}

出:

同樣的代碼使用memmove就可以.

3.memcmp

作用:內(nèi)存比較

函數(shù)原型:

int memcmp( const void *buf1, const void *buf2, size_t count );
 

使用:

使用格式:memcmp(地址1,地址2,想要比較的內(nèi)存大小 單位bit)

逐字節(jié)比較內(nèi)存大小,

逐字節(jié)一對一對比較??!

返回值有三種情況:

<0 “參數(shù)1” 與 “參數(shù)2” 逐字節(jié)比較時遇到的第一對不同的內(nèi)存時 “參數(shù)1” 中數(shù)據(jù) < “參數(shù)2”。

=0 “參數(shù)1” 與 “參數(shù)2” 中的前“ 參數(shù)” 三個字節(jié)的內(nèi)容完全相等。

>0 “參數(shù)1” 與 “參數(shù)2” 逐字節(jié)比較時遇到的第一對不同的內(nèi)存時 “參數(shù)1” 中數(shù)據(jù) > “參數(shù)2”。

4.memset

作用:內(nèi)存設(shè)置

函數(shù)原型:

void *memset( void *dest, int c, size_t count );
 

使用:

使用格式:memset(地址,一個數(shù),設(shè)置多少字節(jié))

例:

#include <memory.h>
int main()
{
	int a[] = {1,2,3,4,5};
	memset(a, 1, 20);//把從a開始的前二十個字節(jié)內(nèi)容改成1
}

結(jié)果:

總結(jié)

本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!

相關(guān)文章

  • C語言詳細講解if語句與switch語句的用法

    C語言詳細講解if語句與switch語句的用法

    用 if 語句可以構(gòu)成分支結(jié)構(gòu),它根據(jù)給的條件進行判定,以決定執(zhí)行哪個分支程序段,C 語言中還有另外一種分支語句,就是 switch 語句
    2022-05-05
  • c++如何分割字符串示例代碼

    c++如何分割字符串示例代碼

    因為c++字符串沒有split函數(shù),所以字符串分割單詞的時候必須自己手寫,也相當(dāng)于自己實現(xiàn)一個split函數(shù)吧!下面跟小編一起來看看如何實現(xiàn)這個功能。
    2016-08-08
  • 基于C++11實現(xiàn)手寫線程池的示例代碼

    基于C++11實現(xiàn)手寫線程池的示例代碼

    在實際的項目中,使用線程池是非常廣泛的,本文主要介紹了基于C++11實現(xiàn)手寫線程池的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-08-08
  • 內(nèi)核線程優(yōu)先級設(shè)置的方法介紹

    內(nèi)核線程優(yōu)先級設(shè)置的方法介紹

    本篇文章介紹了,內(nèi)核線程優(yōu)先級設(shè)置的方法。需要的朋友參考下
    2013-05-05
  • 如何求連續(xù)幾個數(shù)之和的最大值

    如何求連續(xù)幾個數(shù)之和的最大值

    本篇文章是對如何求連續(xù)幾個數(shù)之和的最大值進行了詳細的分析介紹,需要的朋友參考下
    2013-05-05
  • VSCode 搭建 Arm 遠程調(diào)試環(huán)境的步驟詳解

    VSCode 搭建 Arm 遠程調(diào)試環(huán)境的步驟詳解

    這篇文章主要介紹了VSCode 搭建 Arm 遠程調(diào)試環(huán)境的步驟詳解,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-04-04
  • C/C++通過SQLite SDK實現(xiàn)數(shù)據(jù)庫增刪改查操作

    C/C++通過SQLite SDK實現(xiàn)數(shù)據(jù)庫增刪改查操作

    SQLite,作為一款嵌入式關(guān)系型數(shù)據(jù)庫管理系統(tǒng),一直以其輕量級、零配置以及跨平臺等特性而備受青睞,本文主要介紹了C++如何通過SQLite SDK實現(xiàn)數(shù)據(jù)庫增刪改查操作,感興趣的可以了解下
    2023-11-11
  • 深入理解goto語句的替代實現(xiàn)方式分析

    深入理解goto語句的替代實現(xiàn)方式分析

    本篇文章是對goto語句的替代實現(xiàn)方式進行了詳細的分析介紹,需要的朋友參考下
    2013-05-05
  • C++中map和set的使用及示例

    C++中map和set的使用及示例

    map和set是STL容器中的部分,本文主要介紹了C++中map和set的使用小結(jié),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-01-01
  • C++結(jié)構(gòu)體struct和類class區(qū)別詳解

    C++結(jié)構(gòu)體struct和類class區(qū)別詳解

    struct和class有什么區(qū)別?最本質(zhì)的一個區(qū)別就是默認(rèn)的訪問控制:默認(rèn)的繼承訪問權(quán)限,struct是public的,class是private的。
    2017-11-11

最新評論

巴南区| 东台市| 班玛县| 巴里| 临安市| 怀仁县| 沂南县| 乌拉特中旗| 徐闻县| 满洲里市| 习水县| 永嘉县| 封丘县| 大足县| 芒康县| 永顺县| 宝丰县| 南昌市| 沁阳市| 阿拉善右旗| 大荔县| 修文县| 武城县| 虎林市| 磴口县| 宁夏| 芮城县| 德令哈市| 吉木萨尔县| 海原县| 安岳县| 乾安县| 酒泉市| 开化县| 永吉县| 九龙坡区| 上高县| 辽阳市| 翁源县| 武安市| 上栗县|