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

平凡的天才

目的是為人類造福
posts - 20, comments - 41, trackbacks - 0, articles - 6
  C++博客 :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理
在C/C++語言中,將一個(gè)組合數(shù)據(jù)類型如結(jié)構(gòu)各個(gè)字段的值復(fù)制到另一個(gè)相同類型的結(jié)構(gòu)中,可以將其對(duì)應(yīng)字段賦值。這種方法對(duì)于各種復(fù)雜的結(jié)構(gòu)如多字段結(jié)構(gòu)、嵌套結(jié)構(gòu),就要寫很多行賦值語句,而且如果原來的結(jié)構(gòu)定義更改,程序代碼就要隨著更改,使用很不方便。本文給出了一個(gè)通用的結(jié)構(gòu)復(fù)制函數(shù)。
????????假定結(jié)構(gòu)的類型為STRUCT_TYPE。為了提高效率,用指針引入兩個(gè)結(jié)構(gòu)到函數(shù)中;為了通用,這兩個(gè)指針用任意指針。函數(shù)設(shè)計(jì)的出發(fā)點(diǎn)是,每個(gè)結(jié)構(gòu)在內(nèi)存中各字段連續(xù)存放,而且,每個(gè)字段可以分解中一個(gè)一個(gè)的字節(jié)。這樣,復(fù)制結(jié)構(gòu)時(shí),可以讓兩個(gè)結(jié)構(gòu)的對(duì)應(yīng)的每個(gè)字節(jié)表示的值相等。于是,函數(shù)設(shè)計(jì)如下:


??void?struct_copy(
????void?*p_struct1,???/*結(jié)構(gòu)指針1*/
????void?*p_struct2,???/*結(jié)構(gòu)指針2*/
????unsigned?int?struct_size???/*結(jié)構(gòu)類型長(zhǎng)度,可以用sizeof(STRUCT_TYPE)代入*/
?????)
????{
?int?count=0;
?char?*p_char1,*p_char2;
?
?p_char1=(char?*)p_struct1;
?p_char2=(char?*)p_struct2;
?
?while(count!=struct_size)
?{
??*p_char1=*p_char2;
??p_char1++;
??p_char2++;
??count++;
?}
????}
這個(gè)函數(shù)在PC機(jī)和康柏ALPHA小型機(jī)上使用效果不錯(cuò)。
????????有了這個(gè)函數(shù),如有類型同為STRUCT_TYPE的兩個(gè)結(jié)構(gòu)struct1和struct2,要使struct1各字段的值與struct2各字段的值相等,也就是要把struct2各字段的值賦給struct1,就可以這樣調(diào)用以上函數(shù):?struct_copy(&struct1,?&struct2,?sizeof(STRUCT_TYPE));??????
????????以上函數(shù)簡(jiǎn)單、通用、有效,對(duì)任意結(jié)構(gòu)類型有效,也適合于其它復(fù)雜數(shù)據(jù)類型,如聯(lián)合(union)等。有趣的是,它也適合與整形、浮點(diǎn)型等簡(jiǎn)單數(shù)據(jù)類型的變量之間復(fù)制。
????????此函數(shù)的設(shè)計(jì)思想可以運(yùn)用在很多方面,如進(jìn)程之間、計(jì)算機(jī)之間通信時(shí),可以在通信的一方將某些數(shù)據(jù)類型拆分成字節(jié),到達(dá)通信的另一方再將收到的字節(jié)拼成相應(yīng)的數(shù)據(jù)類型,這比按位傳遞要簡(jiǎn)單、高效得多。

Feedback

# re: 通用的復(fù)合數(shù)據(jù)類型的賦值函數(shù)  回復(fù)  更多評(píng)論   

2006-11-29 23:34 by 踏雪赤兔
博主貎似在寫memcpy()函數(shù)的具體實(shí)現(xiàn)……

# re: 通用的復(fù)合數(shù)據(jù)類型的賦值函數(shù)  回復(fù)  更多評(píng)論   

2006-11-30 00:32 by Test
有必要這樣嗎, memcpy就解決了.

# re: 通用的復(fù)合數(shù)據(jù)類型的賦值函數(shù)  回復(fù)  更多評(píng)論   

2006-11-30 08:29 by 漂舟
樓主似乎沒用過memcpy(...);哈哈,猜測(cè)

# re: 通用的復(fù)合數(shù)據(jù)類型的賦值函數(shù)  回復(fù)  更多評(píng)論   

2006-11-30 08:31 by 漂舟
如果你沒用過memcpy(...),而自己悟出需要個(gè)這樣的函數(shù),
就有點(diǎn)NB了。

# re: 通用的復(fù)合數(shù)據(jù)類型的賦值函數(shù)  回復(fù)  更多評(píng)論   

2006-11-30 16:32 by noname
C++ 的對(duì)象默認(rèn)的賦值操作就是如此, 何必再寫函數(shù)。比如:
struct foo
{
int a;
char b;
};

void main()
{
foo f, g;
f.a=f.b=0;
g = f;
}

# re: 通用的復(fù)合數(shù)據(jù)類型的賦值函數(shù)  回復(fù)  更多評(píng)論   

2006-12-01 07:10 by 琛思者
這樣的函數(shù)似乎只能表層復(fù)制,如果對(duì)象含有指針成員好像會(huì)出錯(cuò)啊

# re: 通用的復(fù)合數(shù)據(jù)類型的賦值函數(shù)  回復(fù)  更多評(píng)論   

2006-12-02 23:14 by deling
做你有把握的事!

# re: 通用的復(fù)合數(shù)據(jù)類型的賦值函數(shù)  回復(fù)  更多評(píng)論   

2006-12-10 15:32 by 平凡的天才
我測(cè)試過,如果內(nèi)含指針一樣可以使用,但是必須保證存儲(chǔ)空間是連續(xù)的!

# re: 通用的復(fù)合數(shù)據(jù)類型的賦值函數(shù)  回復(fù)  更多評(píng)論   

2006-12-13 10:05 by gufan
暈死!竟然是一個(gè)字節(jié)一個(gè)字節(jié)的拷貝.

只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            国产精品va在线播放| 久久成人精品一区二区三区| 欧美日韩成人一区二区| 亚洲私人影院| 久久国产欧美日韩精品| 99这里只有精品| 欧美一区2区三区4区公司二百| 精品成人一区| 亚洲午夜性刺激影院| 1024亚洲| 久久久久久久久伊人| 亚洲视频二区| 欧美二区在线播放| 欧美在线视频观看| 欧美亚男人的天堂| 亚洲国产成人在线| 国色天香一区二区| 亚洲愉拍自拍另类高清精品| 亚洲视频精品在线| 欧美国产日韩二区| 亚洲丰满少妇videoshd| 激情成人综合| 久久久久国产精品一区三寸 | 欧美福利一区二区三区| 久热精品视频在线观看一区| 国产精自产拍久久久久久| 亚洲精品亚洲人成人网| 日韩午夜av电影| 欧美日韩成人激情| 亚洲精品日韩在线| 99国产精品私拍| 国产精品国色综合久久| 中文欧美在线视频| 久久动漫亚洲| 亚洲国产精品成人久久综合一区| 久久久不卡网国产精品一区| 欧美第一黄网免费网站| 99国产精品久久久久久久| 欧美精品免费在线| 亚洲伊人第一页| 蜜臀av性久久久久蜜臀aⅴ| 最近看过的日韩成人| 国产精品麻豆欧美日韩ww| 久久精品99久久香蕉国产色戒| 你懂的视频欧美| 亚洲欧美在线一区| 亚洲国产成人高清精品| 国产精品久久午夜夜伦鲁鲁| 久久久久在线| 亚洲欧美综合一区| 日韩亚洲欧美综合| 欧美成人免费大片| 久久蜜臀精品av| 亚洲一区中文| 一区二区三区 在线观看视频| 国内精品久久久久影院优 | 亚洲青涩在线| 亚洲黄色影院| 一区在线视频| 激情偷拍久久| 亚洲欧美日韩在线高清直播| 99精品国产一区二区青青牛奶| 蜜桃av噜噜一区| 欧美风情在线观看| 久久亚洲精品伦理| 蜜臀99久久精品久久久久久软件 | 在线观看日韩av电影| 国产一区二区三区无遮挡| 国产精品毛片a∨一区二区三区|国| 欧美精品电影在线| 国产精品高潮呻吟久久| 国产精品成人久久久久| 国产中文一区| 亚洲欧洲美洲综合色网| 亚洲视频免费在线| 欧美一级大片在线免费观看| 午夜日本精品| 欧美成人午夜激情| 亚洲精品社区| 久久激情综合网| 欧美精品在欧美一区二区少妇| 欧美日韩精品一区二区天天拍小说| 欧美日韩中文字幕在线| 国产日韩专区| 亚洲午夜一级| 欧美高清在线视频| 亚洲欧美日韩国产中文在线| 久久一区二区三区四区五区| 欧美日韩另类丝袜其他| 国产欧美大片| 亚洲一区二区三区高清| 欧美高清在线| 久久精品二区| 国产在线观看91精品一区| 一本色道久久综合亚洲91| 免费观看在线综合| 亚洲欧美日韩国产综合精品二区| 欧美大片在线影院| 亚洲欧洲在线播放| 欧美a级片网| 欧美一区二区三区成人| 亚洲精品日韩在线观看| 欧美成人一区二区三区在线观看 | 国产精品久久| 亚洲一区在线播放| 亚洲香蕉网站| 国产精品自在欧美一区| 欧美一区二区三区免费观看| 这里只有精品视频| 国产精品视频xxx| 久久精品国产精品| 久久久久久一区二区| 亚洲国产高清aⅴ视频| 亚洲美女黄网| 国产伦精品一区二区三区高清| 欧美中文字幕在线视频| 久久精品国产亚洲aⅴ| 亚洲精品在线观看视频| 一区二区三区精品视频| 国产日韩欧美精品一区| 能在线观看的日韩av| 欧美日韩在线大尺度| 久久精品2019中文字幕| 欧美大片在线影院| 欧美在线啊v一区| 欧美激情亚洲激情| 久久久亚洲午夜电影| 欧美日韩国产黄| 老牛国产精品一区的观看方式| 欧美精品九九99久久| 欧美jizzhd精品欧美巨大免费| 欧美午夜精品久久久久久浪潮| 久热国产精品视频| 国产日本亚洲高清| 日韩午夜激情| 亚洲精品一区在线| 欧美 日韩 国产一区二区在线视频| 亚洲一区日本| 欧美日韩在线精品| 一本色道久久综合亚洲精品不 | 久久躁狠狠躁夜夜爽| 国产精品老女人精品视频| 99国产精品99久久久久久粉嫩 | 国产欧美日韩精品专区| 亚洲精品孕妇| 亚洲小少妇裸体bbw| 欧美区国产区| 国产精品99久久久久久久久| 中文网丁香综合网| 国产精品一二三视频| 欧美一区二区精美| 久久网站热最新地址| 亚洲国产成人av| 欧美激情一区二区三区在线| 亚洲欧洲在线看| 欧美亚洲综合网| 亚洲电影第1页| 国产精品海角社区在线观看| 亚洲免费一在线| 欧美91精品| 欧美一区二区高清| 99国产精品99久久久久久粉嫩| 欧美精品午夜| 久久人人九九| 亚洲天堂男人| 欧美激情在线狂野欧美精品| 亚洲一区二区三区免费观看| 亚洲成人在线网| 国产日韩亚洲欧美综合| 欧美精品一区二区三区视频| 欧美在线你懂的| 亚洲视频一区二区| 欧美激情一区二区三区四区| 亚洲欧美日韩在线高清直播| 亚洲黄一区二区| 激情文学一区| 国产一区二区精品久久| 国产精品三级久久久久久电影| 欧美成人首页| 欧美高潮视频| 老司机久久99久久精品播放免费| 先锋影音久久| 欧美一区二区三区免费大片| 午夜精品福利一区二区三区av| 99精品视频免费观看视频| 欧美激情 亚洲a∨综合| 久热这里只精品99re8久| 麻豆国产精品777777在线| 国产精品美女午夜av| 久久九九国产精品怡红院| 久久亚洲风情| 欧美顶级大胆免费视频| 亚洲电影在线播放| 亚洲精品久久久久久久久久久| 欧美日韩国产在线| 亚洲美女黄色| 日韩视频在线观看国产| 亚洲婷婷综合色高清在线| 亚洲欧美在线一区| 欧美国产一区二区三区激情无套|