C指針與地址-創(chuàng)新互聯(lián)

在C語言的學(xué)習(xí)過程中,常理不清指針(即一個(gè)變量的地址)和指針變量(專門用來存放另一變量的地址(指針)的變量)的關(guān)系,因此通過程序打印地址運(yùn)行結(jié)果,來分析加強(qiáng)理解。以此記錄學(xué)習(xí)過程中的心得,希望能幫到大家,感謝指正。

成都創(chuàng)新互聯(lián)公司專業(yè)為企業(yè)提供姜堰網(wǎng)站建設(shè)、姜堰做網(wǎng)站、姜堰網(wǎng)站設(shè)計(jì)、姜堰網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)與制作、姜堰企業(yè)網(wǎng)站模板建站服務(wù),十余年姜堰做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。


前言 一、代碼示例

代碼如下:

#includeint main()
{
    int a=88,b=60 ;
    int *p;
    p=&a;//指向a的地址
    printf("%p\n",&a);
    printf("%#p",p);//以十六進(jìn)制的形式輸出
    printf (" %p ",*p);
    printf(" %p\n",&p);
    printf("%d",p);
    printf (" %d ",*p);
    printf(" %d\n",&p);
    p--;//指針移動(dòng)指向b的地址
    printf("%p\n",&b);
    printf("%#p",p);
    printf (" %p ",*p);
    printf(" %p\n",&p);
    printf("%d",p);
    printf (" %d ",*p);
    printf(" %d\n",&p);
    return 0;
}
2.運(yùn)行結(jié)果

代碼如下:

000000000061FE1C
0X000000000061FE1C 0000000000000058  000000000061FE10
6422044 88  6422032
000000000061FE18
0X000000000061FE18 000000000000003C  000000000061FE10
6422040 60  6422032

總結(jié)

在指針*p=&a初始化后,p等同于&a即a的地址,在運(yùn)行過程中可以代換。%#p是輸出位0X開開頭的16進(jìn)制數(shù)。因此printf("%p\n",&a);? ? printf("%#p",p);本質(zhì)是一樣的。*p則是通過指針變量p存儲(chǔ)的a的地址,間接獲取a的值。*p=a,對(duì)數(shù)值%p等同于對(duì)數(shù)值以十六進(jìn)制位輸出。%d對(duì)p,*p,&p則是以十進(jìn)制形式分別輸出地址,值,地址。

p--,由于p是整型指針,p--減去int的4個(gè)字節(jié)剛好移動(dòng)到b。

【注】1.這里發(fā)現(xiàn)后定義的變量b的地址要小于a的地址,這是因?yàn)閏語言中,先定義的數(shù)據(jù)先入棧,在棧的底部(不分配內(nèi)存),聲明結(jié)束后,b在棧頂,所以b先出棧,先為b分配內(nèi)存。因此b的地址小于a的地址。

?2.數(shù)據(jù)的地址位數(shù)和數(shù)據(jù)能存儲(chǔ)的位數(shù)無關(guān)。學(xué)習(xí)階段曾存在疑問(輸出的地址是16位,int是4字節(jié),即16進(jìn)制的4位代表一個(gè)字節(jié)(實(shí)際應(yīng)該是一個(gè)字節(jié)等于2位16進(jìn)制),一個(gè)字節(jié)等于八位二進(jìn)制,但八位二進(jìn)制不等于四位16進(jìn)制?)通過交流請(qǐng)教得知有關(guān)計(jì)算機(jī)組成原理,地址位數(shù)只取決于系統(tǒng),所有類型的指針?biāo)奸L度相同。

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購,新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧

文章題目:C指針與地址-創(chuàng)新互聯(lián)
地址分享:http://www.muchs.cn/article32/deoepc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供云服務(wù)器商城網(wǎng)站、外貿(mào)建站、虛擬主機(jī)、標(biāo)簽優(yōu)化、移動(dòng)網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運(yùn)營