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

為你寫詩

c/c++
隨筆 - 32, 文章 - 0, 評論 - 3, 引用 - 0
數據加載中……

memset函數用法詳解和錯誤解析

memset用法詳解(轉)
2007-01-31 20:00

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元素的賦值了。

posted on 2011-07-21 11:00 pp_zhang 閱讀(830) 評論(0)  編輯 收藏 引用 所屬分類: c/c++

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            欧美在线高清| 免费观看国产成人| 亚洲在线观看免费| 嫩模写真一区二区三区三州| 国产欧美日韩不卡| 亚洲综合久久久久| 99re66热这里只有精品3直播| 久久久噜噜噜久久久| 国产香蕉久久精品综合网| 午夜精品免费视频| 亚洲午夜精品久久久久久浪潮| 欧美日韩成人综合天天影院| 亚洲区在线播放| 欧美va天堂va视频va在线| 久久av红桃一区二区小说| 午夜欧美视频| 亚洲天堂成人在线观看| 国产精品第2页| 亚洲精品永久免费精品| 欧美大片在线观看一区二区| 夜夜躁日日躁狠狠久久88av| 亚洲一区二区av电影| 亚洲精美视频| 噜噜噜噜噜久久久久久91 | 伊人夜夜躁av伊人久久| 亚洲欧美激情视频| 亚洲一区欧美一区| 国产欧美亚洲日本| 另类av导航| 免费成人黄色片| 亚洲最新在线视频| 亚洲午夜一二三区视频| 国产欧美日韩亚洲| 免费观看一级特黄欧美大片| 欧美1级日本1级| 在线亚洲免费| 香蕉av福利精品导航| 在线成人激情| 99riav久久精品riav| 国产欧美一区在线| 亚洲承认在线| 国产精品国产一区二区| 久久免费高清视频| 欧美精品播放| 性色av一区二区三区红粉影视| 久久久久国色av免费观看性色| 亚洲精品国久久99热| 亚洲一二三区在线观看| 在线观看的日韩av| 一本色道久久综合亚洲精品婷婷| 国产欧美激情| 亚洲欧洲一二三| 黑人中文字幕一区二区三区| 亚洲精品日韩欧美| 国产日韩综合一区二区性色av| 亚洲二区在线| 国产午夜精品一区理论片飘花| 亚洲国产精品电影在线观看| 国产亚洲欧美激情| 最近中文字幕mv在线一区二区三区四区| 午夜久久久久久久久久一区二区| 中日韩美女免费视频网址在线观看 | 国外精品视频| 中文日韩欧美| 亚洲欧美怡红院| 国产麻豆成人精品| 日韩小视频在线观看专区| 国产亚洲精品成人av久久ww| 亚洲国产欧美久久| 亚洲视频在线视频| 91久久精品国产91性色| 久久精品av麻豆的观看方式| 亚洲国产精品免费| 欧美激情一区二区三区四区 | 欧美性做爰毛片| 欧美不卡福利| 亚洲激情成人在线| 欧美国产综合一区二区| 亚洲欧美一级二级三级| 蜜桃av一区| 欧美亚洲日本网站| 日韩网站免费观看| 欧美美女bbbb| 久久在线免费视频| 午夜精品www| 亚洲国产日韩欧美在线99| 性视频1819p久久| 亚洲国产天堂久久综合网| 欧美视频在线观看免费网址| 中文欧美日韩| 亚洲人成亚洲人成在线观看图片| 欧美黑人国产人伦爽爽爽| 午夜欧美精品| 久久男人资源视频| 黄色精品在线看| 欧美 日韩 国产 一区| 另类天堂av| 猛干欧美女孩| 在线观看一区欧美| 久久精品中文字幕一区| 久久久精品日韩欧美| 国内精品99| 欧美伊人久久久久久午夜久久久久 | 亚洲视频第一页| 亚洲大胆人体在线| 国产在线成人| 欧美91视频| 欧美国产日韩在线| 欧美日本三区| 久久久蜜桃一区二区人| 欧美91视频| 欧美特黄a级高清免费大片a级| 亚洲免费在线播放| 久久资源在线| 亚洲调教视频在线观看| 欧美韩国一区| 久久精品国产精品| 亚洲国产精品成人综合色在线婷婷| 久久综合精品国产一区二区三区| 一区二区三区在线不卡| 欧美国产视频在线| 国产精品男女猛烈高潮激情| 久久久久久日产精品| 欧美精品激情在线观看| 午夜亚洲福利在线老司机| 老牛国产精品一区的观看方式| 亚洲精品国产精品久久清纯直播| 亚洲一区国产视频| 日韩午夜三级在线| 久久高清免费观看| 亚洲欧美久久久| 欧美福利小视频| 毛片一区二区| 国产主播一区二区| 一区二区三区精品视频| 亚洲国产mv| 久久天天躁狠狠躁夜夜爽蜜月 | 韩国三级电影一区二区| 国产伦精品一区二区三区视频黑人| 亚洲最新色图| 久久久青草婷婷精品综合日韩 | 老司机精品久久| 欧美大秀在线观看| 亚洲欧美日韩国产综合在线| 国内精品国语自产拍在线观看| 久久综合给合久久狠狠狠97色69| 99国产精品久久久久老师| 欧美中文在线免费| 9色国产精品| 在线观看欧美视频| 国产午夜亚洲精品不卡| 欧美精品在线观看播放| 久久精品国产一区二区三区| 蜜臀av在线播放一区二区三区| 日韩视频在线一区二区三区| 久久久久综合网| 亚洲午夜久久久| 亚洲激情偷拍| 国产综合色一区二区三区| 欧美日韩国产综合新一区| 久久精品国产99国产精品澳门| 亚洲免费观看高清在线观看| 亚洲成人在线视频播放| 99综合视频| 亚洲二区在线视频| 国产午夜一区二区三区| 欧美日韩国产成人在线| 久久婷婷综合激情| 久久精品免费播放| 性做久久久久久免费观看欧美| 日韩小视频在线观看| 欧美激情乱人伦| 另类激情亚洲| 久久久久国产精品一区| 久久精品理论片| 欧美在线观看网站| 欧美一区影院| 欧美在线亚洲一区| 午夜久久一区| 亚洲综合丁香| 亚洲综合电影| 欧美一区二区视频免费观看| 亚洲欧美国产77777| 亚洲欧美一区二区三区在线| 亚洲一区二区三区激情| 99热精品在线观看| 一区二区三区导航| 一区二区高清| 亚洲伊人网站| 久久超碰97中文字幕| 久久精品国产第一区二区三区| 久久精品国产成人| 美女成人午夜| 亚洲人成啪啪网站| 日韩亚洲欧美一区二区三区| 一区二区冒白浆视频| 午夜在线一区二区| 久久久无码精品亚洲日韩按摩| 欧美成人久久| 国产精品久久9|