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

C/C++ 中memset() 函數(shù)詳解及其作用介紹

 更新時(shí)間:2020年07月21日 16:43:57   作者:華麗的雙魚(yú)  
這篇文章主要介紹了C/C++ 中memset() 函數(shù)詳解及其作用介紹,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

memset 函數(shù)是內(nèi)存賦值函數(shù),用來(lái)給某一塊內(nèi)存空間進(jìn)行賦值的;

包含在<string.h>頭文件中,可以用它對(duì)一片內(nèi)存空間逐字節(jié)進(jìn)行初始化;

原型為 :

void *memset(void *s, int v, size_t n);

這里s可以是數(shù)組名,也可以是指向某一內(nèi)在空間的指針;

v為要填充的值;

n為要填充的字節(jié)數(shù);

例子:

struct data
{
char num[100];
char name[100];
int n;
};
struct data a, b[10];
 
memset( &a, 0, sizeof(a) ); //注意第一個(gè)參數(shù)是指針類(lèi)型,a不是指針變量,要加&
memset( b, 0, sizeof(b) ); //b是數(shù)組名,就是指針類(lèi)型,不需要加&

例2:

char str[9];

我們用memset給str初始化為“00000000”,用法如下

memset(str,0,8);

注意,memset是逐字節(jié)拷貝的。

例3:

int num[8];

我們用memset給str初始化為{1,1,1,1,1,1,1,1},

memset(num,1,8);//這樣是不對(duì)的

一個(gè)int是4個(gè)字節(jié)的,8個(gè)int是32個(gè)字節(jié),所以首先要賦值的長(zhǎng)度就不應(yīng)該為8而是32。

因?yàn)閙emset是逐字節(jié)拷貝,以num為首地址的8字節(jié)空間都被賦值為1,

即一個(gè)int變?yōu)?X00000001 00000001 00000001 00000001,顯然,把這個(gè)數(shù)化為十進(jìn)制不會(huì)等于1的。

所以,在memset使用時(shí)要千萬(wàn)小心,在給char以外的數(shù)組賦值時(shí),只能初始化為0或者-1。

(如果用memset(a,1,20);
就是對(duì)a指向的內(nèi)存的20個(gè)字節(jié)進(jìn)行賦值,每個(gè)都用ASCII為1的字符去填充,轉(zhuǎn)為二進(jìn)制后,1就是00000001,占一個(gè)字節(jié)。一個(gè)INT元素是4字節(jié),合一起就是1000000010000000100000001,就等于16843009,就完成了對(duì)一個(gè)INT元素的賦值了。)

#include <memory.h> //我試了一下,C語(yǔ)言這么用,C++還可以用<cstring> 
#include <stdio.h>
 void main( void ) 
{ 
 char buffer[] = "This is a test of the memset function"; 
 printf( "Before: %s\n", buffer );
 memset( buffer, '*', 4 );
 printf( "After: %s\n", buffer );
 } 

輸出: 

Before: This is a test of the memset function 
After: **** is a test of the memset function 

到此這篇關(guān)于C/C++ 中memset() 函數(shù)詳解及其作用介紹的文章就介紹到這了,更多相關(guān)C++  memset() 函數(shù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C語(yǔ)言關(guān)鍵字大全(共32個(gè))

    C語(yǔ)言關(guān)鍵字大全(共32個(gè))

    這篇文章主要分享下C語(yǔ)言的32個(gè)關(guān)鍵字,需要的朋友可以參考下
    2013-07-07
  • C語(yǔ)言strlen和sizeof在數(shù)組中的使用詳解

    C語(yǔ)言strlen和sizeof在數(shù)組中的使用詳解

    對(duì)于 strlen 和 sizeof,相信不少程序員會(huì)混淆其功能。雖然從表面上看它們都可以求字符串的長(zhǎng)度,但二者卻存在著許多不同之處及本質(zhì)區(qū)別
    2021-10-10
  • vs code 配置python虛擬環(huán)境的方法

    vs code 配置python虛擬環(huán)境的方法

    這篇文章主要介紹了vs code 配置python虛擬環(huán)境的方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-03-03
  • VC++中圖像處理類(lèi)CBitmap的用法

    VC++中圖像處理類(lèi)CBitmap的用法

    使用VC進(jìn)行圖像處理的時(shí)候,CBitmap類(lèi)為我們提供了豐富的位圖處理函數(shù),本文總結(jié)了該類(lèi)的相關(guān)函數(shù)和常用使用方法,包括加載位圖,顯示位圖,析構(gòu)CBitmap資源以及在內(nèi)存中保存位圖等內(nèi)容。
    2015-11-11
  • c語(yǔ)言中malloc、realloc與calloc 的區(qū)別以及聯(lián)系

    c語(yǔ)言中malloc、realloc與calloc 的區(qū)別以及聯(lián)系

    以下是對(duì)c語(yǔ)言中的malloc函數(shù),realloc函數(shù)與calloc函數(shù)的區(qū)別以及它們之間的聯(lián)系進(jìn)行了介紹,需要的朋友可以過(guò)來(lái)參考下
    2013-08-08
  • c語(yǔ)言全局變量和局部變量問(wèn)題及解決匯總

    c語(yǔ)言全局變量和局部變量問(wèn)題及解決匯總

    局部變量能否和全局變量重名,如何引用一個(gè)已經(jīng)定義過(guò)的全局變量,全局變量可不可以定義在可被多個(gè).C文件包含的頭文件中?為什么?,接下來(lái)為您一一介紹
    2013-01-01
  • C++迭代器失效解決辦法詳解

    C++迭代器失效解決辦法詳解

    這篇文章主要介紹了迭代器失效的概念,以及在vector、list和map等容器中插入和刪除操作導(dǎo)致迭代器失效的情況,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-12-12
  • 關(guān)于VS2022不能使用<bits/stdc++.h>的解決方案(萬(wàn)能頭文件)

    關(guān)于VS2022不能使用<bits/stdc++.h>的解決方案(萬(wàn)能頭文件)

    #include<bits/stdc++.h>包含了目前 C++ 所包含的所有頭文件,又稱(chēng)萬(wàn)能頭文件,那么如何在VS2022中使用萬(wàn)能頭呢?下面小編給大家代理了關(guān)于VS2022不能使用<bits/stdc++.h>的解決方案(萬(wàn)能頭文件),感興趣的朋友一起看看吧
    2022-03-03
  • c++中vector的使用和模擬實(shí)現(xiàn)

    c++中vector的使用和模擬實(shí)現(xiàn)

    這篇文章主要介紹了c++中vector的使用和模擬實(shí)現(xiàn),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-04-04
  • 利用Qt繪制雷達(dá)掃描效果

    利用Qt繪制雷達(dá)掃描效果

    這篇文章主要為大家詳細(xì)介紹了如何利用Qt繪制簡(jiǎn)單的雷達(dá)掃描效果,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,需要的可以參考一下
    2023-04-04

最新評(píng)論

锡林郭勒盟| 台江县| 岑溪市| 虎林市| 大足县| 石门县| 耿马| 七台河市| 德钦县| 平乡县| 双流县| 湘潭市| 大余县| 兴安县| 临湘市| 绩溪县| 林西县| 长白| 织金县| 聂拉木县| 华亭县| 蕲春县| 中阳县| 宜章县| 黄龙县| 祁阳县| 丘北县| 新竹市| 焉耆| 阳城县| 台东市| 湘潭县| 开江县| 连云港市| 泗阳县| 泗水县| 都安| 台安县| 黄大仙区| 怀来县| 开原市|