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

數(shù)據(jù)加載中……

基本概念:函數(shù)的傳值(4)

參數(shù)是一個(gè)指針的引用  的分析。

C++ Primer有這方面的介紹。看了以后不是很明白。

先來(lái)一個(gè)常規(guī)的:

void fun2(int *a, int *b){
    int  tem = *b;
    *b = *a;
    *a = tem;
}

調(diào)用;

int a = 1;
int b = 2;
int *a1 = &a;
int *b1 = &b;
fun2(a1,b1);

 

運(yùn)行之后。a,b的值互換,a1 的值是a的地址。b1的值是b的地址。指針的值沒(méi)變。

 

看看參數(shù)是一個(gè)指針的引用的:

void fun1(int *&a, int *&b){
    int *tem = b;
    b = a;
    a = tem;
}

 

    int a = 1;
    int b = 2;
    int *a1 = &a;
    int *b1 = &b;
     fun1(a1,b1);

結(jié)果是:a1 跟 b1 的值交換。a1的值是b的地址,b1的值是a的地址。 a,b的值不變。也就是說(shuō),指針的值改變了。a,b的值沒(méi)有變。

 

匯編代碼:

調(diào)用的:

mov     dword ptr ss:[ebp-4], 1      ;a
mov     dword ptr ss:[ebp-C], 2     ;b
lea       eax, dword ptr ss:[ebp-4]  ;a的地址
mov     dword ptr ss:[ebp-8], eax  ;給*a1賦值
lea       ecx, dword ptr ss:[ebp-C]   ;b的地址
mov     dword ptr ss:[ebp-10], ecx  ;給*b1賦值
lea       edx, dword ptr ss:[ebp-10]  ;b1的地址 
push    edx                              ; 參數(shù)2   從右向左壓棧的
lea       eax, dword ptr ss:[ebp-8]    ;a1的地址       
push    eax                              ; 參數(shù)1
call      00401000                     ; fun1的地址

 

fun1的匯編:

mov     eax, dword ptr ss:[ebp+C]     ;參數(shù)2   b1的地址
mov     ecx, dword ptr ds:[eax]         ;ecx為 b1的值 b的地址 
mov     dword ptr ss:[ebp-4], ecx      ;b1的值 b的地址  給tem
mov     edx, dword ptr ss:[ebp+C]     ;參數(shù)2      b1的地址 
mov     eax, dword ptr ss:[ebp+8]      ;參數(shù)1     a1的地址
mov     ecx, dword ptr ds:[eax]         ;ecx為  a1的值 a的地址
mov     dword ptr ds:[edx], ecx         ;b1的值 現(xiàn)在就是a的地址呢。
mov     edx, dword ptr ss:[ebp+8]      ;參數(shù)1     a1的地址
mov     eax, dword ptr ss:[ebp-4]       ;tem的值 以前b1的值 b的地址
mov     dword ptr ds:[edx], eax         ;a1的值 現(xiàn)在就是b的地址呢。

 

今天淘寶的書(shū)到了。晚上回家。就有書(shū)看了。呵呵。

posted on 2007-08-09 17:57 冬天的林 閱讀(844) 評(píng)論(7)  編輯 收藏 引用 所屬分類: C++基礎(chǔ)

評(píng)論

# re: 基本概念:函數(shù)的傳值(4)  回復(fù)  更多評(píng)論   

void fun3(int *a, int *b){
int* tem = b;
b = a;
a = tem;
}

int a = 1;
int b = 2;
int *a1 = &a;
int *b1 = &b;
fun3(a1,b1);

和fun2功能一樣吧。
fun2我真還理解進(jìn)去。
2007-08-09 20:19 | pass86

# re: 基本概念:函數(shù)的傳值(4)  回復(fù)  更多評(píng)論   

不知道大哥。運(yùn)行過(guò)fun3沒(méi)?看過(guò)結(jié)果沒(méi)?
2007-08-09 21:11 | 冬天的林

# re: 基本概念:函數(shù)的傳值(4)  回復(fù)  更多評(píng)論   

這樣的文章建議發(fā)在新手區(qū)!
2007-08-09 21:53 | dudu

# re: 基本概念:函數(shù)的傳值(4)  回復(fù)  更多評(píng)論   

這個(gè)似乎問(wèn)題確實(shí)是出乎意料,我做了測(cè)試,fun3沒(méi)有改變指針值,GOOD。
//測(cè)試代碼
#include <iostream>
using namespace std;
void fun1(int*& a, int*& b)
{
int* tem = b;
b = a;
a = tem;
}

void fun2(int* a, int* b)
{
int tem = *b;
*b = *a;
*a = tem;
}
void fun3(int* a, int* b)
{
int* tem = b;
b = a;
a = tem;
}

int main()
{
{
int a = 1;
int b = 2;
int* a1 = &a;
int* b1 = &b;
cout << a << ", " << b << endl;
cout << a1 << ", " << b1 << endl;
fun1(a1, b1);
cout << a << ", " << b << endl;
cout << a1 << ", " << b1 << endl;
}
{
int a = 1;
int b = 2;
int* a1 = &a;
int* b1 = &b;
cout << a << ", " << b << endl;
cout << a1 << ", " << b1 << endl;
fun2(a1, b1);
cout << a << ", " << b << endl;
cout << a1 << ", " << b1 << endl;
}
{
int a = 1;
int b = 2;
int* a1 = &a;
int* b1 = &b;
cout << a << ", " << b << endl;
cout << a1 << ", " << b1 << endl;
fun3(a1, b1);
cout << a << ", " << b << endl;
cout << a1 << ", " << b1 << endl;
}

return 0;
}
//測(cè)試結(jié)果:
1, 2
0x22ff74, 0x22ff70
1, 2
0x22ff70, 0x22ff74
1, 2
0x22ff68, 0x22ff6c
2, 1
0x22ff68, 0x22ff6c
1, 2
0x22ff68, 0x22ff6c
1, 2
0x22ff68, 0x22ff6c
2007-08-09 22:59 | pass86

# re: 基本概念:函數(shù)的傳值(4)  回復(fù)  更多評(píng)論   

好的。

@dudu
2007-08-10 09:09 | 冬天的林

# re: 基本概念:函數(shù)的傳值(4)  回復(fù)  更多評(píng)論   

@pass86

呵呵。謝謝關(guān)注。
2007-08-10 09:10 | 冬天的林

# re: 基本概念:函數(shù)的傳值(4)  回復(fù)  更多評(píng)論   

暴汗,還有人這么玩!==!
2007-08-11 14:38 | XTSHMF
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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久久久久99按摩| 六十路精品视频| 亚洲欧洲久久| 久久久久久久久伊人| 亚洲第一区在线观看| 欧美不卡一区| 免费亚洲网站| 老牛影视一区二区三区| 欧美日韩免费在线观看| 久久成人这里只有精品| 亚洲欧美综合精品久久成人| 鲁大师影院一区二区三区| 亚洲欧美日韩精品久久久| 久久精品男女| 99v久久综合狠狠综合久久| 你懂的亚洲视频| 欧美一区=区| 国产精品网站在线播放| 欧美激情1区2区3区| 韩国v欧美v日本v亚洲v| 亚洲欧美另类在线观看| 亚洲国产毛片完整版| 亚洲第一中文字幕| 欧美精品18+| 欧美色精品天天在线观看视频| 美国十次了思思久久精品导航| 精品1区2区3区4区| 免费视频一区| 美女性感视频久久久| 一区二区亚洲精品| 欧美激情2020午夜免费观看| 99国产一区二区三精品乱码| 久久久久国产一区二区三区| 在线视频成人| 一区二区三区成人精品| 亚洲一区二区三区精品在线观看| 欧美日韩国产成人在线91| 久久久久久婷| 亚洲美女在线一区| 欧美日韩国产在线播放网站| 欧美一区二区精美| 欧美1区3d| 裸体素人女欧美日韩| 夜夜精品视频一区二区| 国产欧美日韩亚洲精品| 亚洲国产成人tv| 欧美激情一区二区三区成人| 亚洲欧美精品伊人久久| 欧美大片在线看免费观看| 午夜精品久久久久久久久久久久久| 亚洲成人原创| 欧美丝袜一区二区三区| 蜜桃av一区| 欧美激情中文不卡| 一区二区三区黄色| 国产嫩草影院久久久久| 亚洲国产91色在线| 99精品国产福利在线观看免费| 欧美大成色www永久网站婷| 夜夜精品视频| 亚洲国产岛国毛片在线| 欧美中文在线免费| 久久在线观看视频| 香蕉久久夜色精品| 欧美1区2区3区| 亚洲国产小视频| 欧美激情导航| 久久一二三四| 蜜桃伊人久久| 美女图片一区二区| 亚洲卡通欧美制服中文| 亚洲狠狠婷婷| 亚洲第一色中文字幕| 欧美激情在线观看| 91久久久一线二线三线品牌| 久久五月天婷婷| 亚洲第一黄网| 欧美一区二区三区视频免费| 午夜免费久久久久| 裸体歌舞表演一区二区| 久久九九久精品国产免费直播| 亚洲精品久久久久久一区二区| 亚洲电影下载| 亚洲一区激情| 蜜桃久久av一区| 久久综合一区| 91久久嫩草影院一区二区| 中日韩美女免费视频网站在线观看| 欧美日韩激情网| 亚洲欧美激情诱惑| 久久国产婷婷国产香蕉| 日韩亚洲欧美一区| 欧美日韩国产精品一区二区亚洲| 亚洲人www| 久久久www免费人成黑人精品 | 在线看视频不卡| 欧美成人亚洲成人日韩成人| 久久亚洲色图| 欧美日韩精品欧美日韩精品| 亚洲免费播放| 亚洲视频视频在线| 国产精品美女久久| 午夜精品影院在线观看| 99亚洲一区二区| 国产精品视频免费一区| 久久久久久久久久久成人| 久久精品理论片| 久久久久女教师免费一区| 欧美在线综合| 亚洲精品国偷自产在线99热| 久久久久久欧美| 久久久亚洲国产天美传媒修理工| 国产欧美日韩精品a在线观看| 美女露胸一区二区三区| 久久免费高清视频| 亚洲激情电影在线| 亚洲精品日产精品乱码不卡| 欧美日在线观看| 亚洲欧美日韩区 | 亚洲视频观看| 欧美一级黄色录像| 99精品国产热久久91蜜凸| 欧美成年视频| 国内精品视频一区| 美女亚洲精品| 91久久久久久久久| 欧美丝袜一区二区| 亚洲国产另类久久精品| 国产精品美女久久久久久2018| 开心色5月久久精品| 国产精品剧情在线亚洲| 91久久线看在观草草青青| 尤物九九久久国产精品的分类| 国产精品99久久久久久有的能看| 一级成人国产| 欧美精品免费视频| 亚洲一区二区高清视频| 久久久久国产精品一区三寸| 亚洲人成欧美中文字幕| 久久久水蜜桃| 欧美激情一区二区三区蜜桃视频| 国精品一区二区| 久久精品视频在线播放| 欧美一区二区三区四区在线观看地址| 欧美精品福利视频| 亚洲无线一线二线三线区别av| 亚洲免费视频一区二区| 狠狠88综合久久久久综合网| 亚洲免费在线| 久久看片网站| 99国产一区| 国产老肥熟一区二区三区| 亚洲欧美日韩在线不卡| 欧美激情欧美狂野欧美精品 | 欧美国产三级| 欧美一区三区二区在线观看| 亚洲人成在线观看| 亚洲国产合集| 亚洲国产专区校园欧美| 亚洲欧洲日本一区二区三区| 国产精品免费电影| 国模大胆一区二区三区| 国产日韩一区二区三区| 欧美日韩一区视频| 欧美黄网免费在线观看| 久久一区二区三区国产精品 | 亚洲精品中文字幕在线| 在线免费观看一区二区三区| 欧美手机在线| 欧美成人激情视频| 久久五月天婷婷| 性欧美1819性猛交| 久久精品网址| 99伊人成综合| 亚洲在线成人| 欧美日韩国产影院| 国产乱码精品一区二区三| 国产精品欧美日韩一区二区| 国产嫩草影院久久久久| 激情偷拍久久| 亚洲一区在线免费观看| 免费一区视频| 欧美日韩亚洲一区二区三区在线观看| 日韩视频在线观看免费| 亚洲日本一区二区| 久久看片网站| 国产精品美女诱惑| 日韩网站在线| 亚洲国产精品va在线看黑人动漫| 亚洲人成网站777色婷婷| 亚洲在线观看免费| 在线视频亚洲一区| 亚洲第一狼人社区| 久久免费观看视频| 亚洲一区二区三区午夜| 欧美第一黄网免费网站| 日韩图片一区| 国内外成人免费激情在线视频| 亚洲国产精品va在看黑人| 欧美中文在线观看国产|