亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊(cè) 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫(kù)
123下一頁(yè)
最近訪問(wèn)板塊 發(fā)新帖
查看: 7073 | 回復(fù): 22
打印 上一主題 下一主題

指針問(wèn)題!對(duì)于你們太簡(jiǎn)單了,但是我不懂 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2009-07-02 19:53 |只看該作者 |倒序?yàn)g覽
#include <iostream>
using namespace std;
void swap(int &a,int &b);
main()
{
        int a=3,b=4;
        cout<<"1a="<<&a<<"b="<<&b<<endl;
        swap(a,b);
        cout<<"3a="<<a<<"b="<<b<<endl;

        return 0;
}
void   swap(int  &a,int &b)
{
a=a+1;
b=b+1;
        cout<<"2a="<<a<<"b="<<b<<endl;

}
在swap函數(shù)里a和b已經(jīng)+1了,就是說(shuō)a和b已經(jīng)指向了別的地方了,但是為什么最后輸出的時(shí)候?yàn)槭裁床皇且粋(gè)隨機(jī)的值呢?

論壇徽章:
0
2 [報(bào)告]
發(fā)表于 2009-07-02 19:56 |只看該作者
引用,引用!
C++ 害死人。
看看,多生動(dòng)的例子啊。

論壇徽章:
0
3 [報(bào)告]
發(fā)表于 2009-07-02 20:04 |只看該作者
什么意思不懂啊 可否詳細(xì)點(diǎn)說(shuō)明

論壇徽章:
0
4 [報(bào)告]
發(fā)表于 2009-07-02 20:07 |只看該作者
#include <iostream>
using namespace std;
void swap(int *a,int *b);
main()
{
        int a=3,b=4;
        cout<<"1a="<<&a<<"b="<<&b<<endl;
        swap(&a,&b);
        cout<<"3a="<<a<<"b="<<b<<endl;

        return 0;
}
void   swap(int  *a,int *b)
{
a=a+1;
b=b+1;
        cout<<"2a="<<a<<"b="<<b<<endl;

}用指針也不行啊,在swap函數(shù)內(nèi)部a,b指向了別處了,但是最后求值怎么還是3,4

論壇徽章:
0
5 [報(bào)告]
發(fā)表于 2009-07-02 20:14 |只看該作者
星號(hào),星號(hào),對(duì)指針進(jìn)行解引用方能得到原來(lái)的對(duì)象。

void
swap(int *a, int *b)
{
    int tmp = *a;
    *a = *b;
    *b = tmp;
}

論壇徽章:
0
6 [報(bào)告]
發(fā)表于 2009-07-02 20:17 |只看該作者
傳進(jìn)去的參數(shù),只是指針的一個(gè)復(fù)制品,復(fù)制品的改變并不影響原來(lái)的值,所以無(wú)效。
C 語(yǔ)言是按值傳參的,直到 C++ 才出現(xiàn)引用。

論壇徽章:
0
7 [報(bào)告]
發(fā)表于 2009-07-02 20:17 |只看該作者
這題如果有懸賞就好了

論壇徽章:
0
8 [報(bào)告]
發(fā)表于 2009-07-02 20:37 |只看該作者
我不是想要他們的值呼喚,我只是想知道我在函數(shù)體內(nèi)改變了輸入函數(shù)的指向,但是為什么在主函數(shù)里邊返回的還是3,4
如果全是地址那么結(jié)果是這個(gè)
1 a=0012FF7C b=0012FF78
2 a=0012FF24 b=0012FF28--->swap a,b都指向了別的地方
3 a=0012FF7C b=0012FF78--->有回到了a,b原來(lái)的地址了
Press any key to continue 為什么最后沒(méi)有指向a=0012FF24 b=0012FF28這個(gè)地址????

論壇徽章:
0
9 [報(bào)告]
發(fā)表于 2009-07-02 20:50 |只看該作者

回復(fù) #6 langue 的帖子

還是不太懂

論壇徽章:
0
10 [報(bào)告]
發(fā)表于 2009-07-02 21:45 |只看該作者
我明白了,其實(shí)傳進(jìn)來(lái)的a,和b的地址是重新分配的地址,他們的地址和main()函數(shù)中的地址不一樣,但是他們指向的都是同一個(gè)地址,只是他們各自的存儲(chǔ)地址不一樣,所以在swap里改變了a,b自己所在的地址,但是他們的指向還是不變的,所以取他們的值,還是3,4,然后函數(shù)結(jié)束他們銷毀
您需要登錄后才可以回帖 登錄 | 注冊(cè)

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號(hào)-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號(hào):11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國(guó)互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過(guò)ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請(qǐng)注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP