青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

posts - 9, comments - 4, trackbacks - 0, articles - 9

memset用法詳解(轉)

Posted on 2009-03-11 00:14 xlz 閱讀(290) 評論(0)  編輯 收藏 引用

 

memest原型 (please type "man memset" in your shell) 

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

memset:作用是在一段內存塊中填充某個給定的值,它對較大的結構體或數組進行清零操作的一種最快方法。

常見的三種錯誤

第一: 搞反了c 和 n的位置. 

一定要記住 如果要把一個char a[20]清零, 一定是 memset(a, 0, 20) 
而不是 memset(a, 20,  0) 

第二: 過度使用memset, 我想這些程序員可能有某種心理陰影, 他們懼怕未經初始化的內存, 所以他們會寫出這樣的代碼: 

char buffer[20]; 

memset(buffer, 0, sizeof((char)*20)); 
strcpy(buffer, "123"); 

這里的memset是多余的. 因為這塊內存馬上就被覆蓋了, 清零沒有意義. 

第三: 其實這個錯誤嚴格來講不能算用錯memset, 但是它經常在使用memset的場合出現 

int some_func(struct something *a){ 
 … 
 … 
 memset(a, 0, sizeof(a)); 
 … 

:為何要用memset置零?memset( &Address, 0, sizeof(Address));經常看到這樣的用法,其實不用的話,分配數據的時候,剩余的空間也會置零的。

答:1.如果不清空,可能會在測試當中出現野值。 你做下面的試驗看看結果() 

char buf[5]; 

CString str,str1; //memset(buf,0,sizeof(buf)); for(int i = 0;i<5;i++) { str.Format(“%d “,buf[i]); str1 +=str ; } TRACE(“%s\r\n“,str1)

2.其實不然!特別是對于字符指針類型的,剩余的部分通常是不會為0的,不妨作一個試驗,定義一個字符數組,并輸入一串字符,如果不用memset實現清零,使用MessageBox顯示出來就會有亂碼(0表示NULL,如果有,就默認字符結束,不會輸出后面的亂碼)

問:

如下demo是可以的,能把數組中的元素值都設置成字符1
#include <iostream>
#include <cstring>
using namespace std;
int main()
{
    char a[5];
    memset(a,'1',5);
    for(int i = 0;i < 5;i++)
      cout<<a[i]<<"  ";
    system("pause");
    return 0;
}
而,如下程序想吧數組中的元素值設置成1,卻是不可行的
#include <iostream>
#include <cstring>
using namespace std;
int main()
{
    int a[5];
    memset(a,1,5);//這里改成memset(a,1,5 *sizeof(int))也是不可以的
    for(int i = 0;i < 5;i++)
      cout<<a[i]<<"  ";
    system("pause");
    return 0;
}
問題是:

1,第一個程序為什么可以,而第二個不行,
2,不想要用for,或是while循環來初始化int a[5];能做到嗎?(有沒有一個像memset()這樣的函數初始化)

答:

1.因為第一個程序的數組a是字符型的,字符型占據內存大小是1Byte,而memset函數也是以字節為單位進行賦值的,所以你輸出沒有問題。而第二個程序a是整型的,使用memset還是按字節賦值,這樣賦值完以后,每個數組元素的值實際上是0x01010101即十進制的16843009。你看看你輸出結果是否這樣? 

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

 

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            久久精品伊人| 99国产精品私拍| 久热成人在线视频| 每日更新成人在线视频| 一色屋精品视频在线观看网站| 久久久噜噜噜久久人人看| 欧美一级在线视频| 激情国产一区二区| 亚洲激情亚洲| 午夜久久黄色| 美女国产一区| 欧美黄色免费网站| 亚洲自拍另类| 久久久久高清| 一本色道久久加勒比精品| 在线中文字幕不卡| 黄色国产精品一区二区三区| 91久久夜色精品国产九色| 欧美香蕉视频| 免费不卡在线观看| 欧美日韩亚洲91| 久久综合网络一区二区| 欧美激情免费在线| 久久精品国产999大香线蕉| 老司机一区二区三区| 亚洲欧美国产毛片在线| 久久久久九九视频| 亚洲在线黄色| 农夫在线精品视频免费观看| 亚洲综合电影| 欧美激情综合五月色丁香| 久久久久国内| 国产精品jizz在线观看美国 | 久久久久久久97| 欧美连裤袜在线视频| 久久精品视频在线| 欧美人妖在线观看| 男女激情久久| 国产日韩欧美高清| 一区二区三区视频在线播放| 亚洲高清不卡在线| 欧美在线免费观看视频| 亚洲免费视频在线观看| 欧美成人影音| 久久综合中文色婷婷| 国产麻豆精品久久一二三| 亚洲欧洲一区二区天堂久久| 在线日韩精品视频| 欧美一区二区三区在线视频| 亚洲欧美不卡| 欧美日韩精品一区二区| 亚洲国产精品成人综合| 激情综合亚洲| 久久成人一区二区| 久久精品网址| 国产亚洲一级高清| 亚洲欧美日韩另类| 午夜视频久久久| 国产精品老女人精品视频| 日韩一级在线| 亚洲一级网站| 国产精品久久久久久久久免费桃花 | 一本色道**综合亚洲精品蜜桃冫 | 亚洲精品国产精品国自产观看浪潮| 国产精品网站一区| 中日韩视频在线观看| 亚洲综合首页| 国产精品女人久久久久久| 在线亚洲高清视频| 欧美亚洲一区在线| 国产欧美一区二区三区在线老狼 | 久久国产精品久久w女人spa| 久久成人国产精品| 国产欧美视频一区二区| 久久精品成人| 亚洲二区在线视频| 一本色道久久综合| 国产精品成人一区| 亚洲欧美日韩精品一区二区| 久久久久九九九九| 在线精品国产欧美| 欧美日产在线观看| 午夜精品久久久久| 欧美黄色免费网站| 9l视频自拍蝌蚪9l视频成人| 国产精品jizz在线观看美国| 欧美在线视频二区| 亚洲国产高清一区| 午夜在线播放视频欧美| 在线日韩欧美| 国产精品久久久爽爽爽麻豆色哟哟| 欧美亚洲三级| 亚洲精品影视| 久久九九热re6这里有精品| 亚洲国产欧美一区| 国产精品成人播放| 久久婷婷麻豆| 亚洲素人在线| 欧美国产成人精品| 亚洲欧美国产制服动漫| 亚洲成人自拍视频| 国产精品伦理| 欧美成人免费播放| 先锋影音国产精品| 亚洲精品乱码久久久久久按摩观 | 欧美一区二区三区另类| 亚洲人成毛片在线播放| 国产欧美精品国产国产专区| 嫩草影视亚洲| 欧美与黑人午夜性猛交久久久| 亚洲电影下载| 久久久av毛片精品| 一区二区三区波多野结衣在线观看| 国产亚洲一区二区精品| 欧美午夜美女看片| 欧美精品大片| 老巨人导航500精品| 午夜精品av| 一区二区三区你懂的| 欧美福利视频在线观看| 久久久国产精品一区二区三区| 亚洲午夜在线观看视频在线| 亚洲国产一二三| 国产一区二区三区久久精品| 欧美视频在线观看免费| 欧美www视频在线观看| 久久精品国产免费| 性一交一乱一区二区洋洋av| 亚洲视频1区2区| 日韩一级网站| 9久草视频在线视频精品| 亚洲激情午夜| 怡红院精品视频| 久久婷婷人人澡人人喊人人爽 | 日韩视频中文字幕| 亚洲精品中文字幕女同| 国产日产欧产精品推荐色| 国产精品久久久久久av福利软件| 欧美国产专区| 欧美高清视频www夜色资源网| 久久女同精品一区二区| 久久国产精品高清| 久久香蕉精品| 狂野欧美一区| 欧美激情久久久久| 欧美激情2020午夜免费观看| 免费日韩成人| 欧美日韩三级在线| 欧美性片在线观看| 国产欧美日韩精品a在线观看| 国产精品自拍网站| 国产亚洲激情视频在线| 国产日韩欧美成人| 欲色影视综合吧| 91久久国产综合久久| 99爱精品视频| 在线亚洲激情| 久久国产精品亚洲77777| 久久精品国产成人| 亚洲电影免费在线| 99热在这里有精品免费| 亚洲视频一二区| 久久成年人视频| 欧美高清在线视频观看不卡| 欧美日韩视频在线观看一区二区三区| 欧美人与性动交a欧美精品| 国产精品99免费看| 国产尤物精品| 亚洲日韩欧美一区二区在线| 中日韩美女免费视频网址在线观看| 亚洲午夜高清视频| 久久亚洲免费| 亚洲日韩第九十九页| 亚洲欧美日韩中文在线制服| 久久精品国产亚洲5555| 欧美激情免费在线| 国产日韩精品久久| 亚洲日本中文字幕免费在线不卡| 亚洲尤物精选| 欧美国产综合视频| 亚洲视频欧美视频| 美女999久久久精品视频| 欧美日韩久久久久久| 精品av久久久久电影| 夜夜嗨av色综合久久久综合网| 欧美一区二区视频观看视频| 欧美v日韩v国产v| 亚洲性色视频| 欧美二区不卡| 黑人操亚洲美女惩罚| 一区二区冒白浆视频| 乱中年女人伦av一区二区| 一区二区三区精品视频| 免费成人黄色片| 国产一区二区无遮挡| 亚洲中字在线| 亚洲精品美女在线| 久久精品在线视频| 国产精品亚洲人在线观看| 日韩视频一区二区三区在线播放免费观看 |