站長資訊網(wǎng)
        最全最豐富的資訊網(wǎng)站

        *p++和(*p)++的區(qū)別是什么

        “*p++”和“(*p)++”的區(qū)別是:1、“*p++”示取p所指單元的值,p指向下一單元,即p自加1。“*p++”是指下一個地址。2、“(*p)++”是指將*p所指的數(shù)據(jù)的值加一。

        *p++和(*p)++的區(qū)別是什么

        本教程操作環(huán)境:windows7系統(tǒng)、C++17版本、Dell G3電腦。

        區(qū)別:

        1、*p++示取p所指單元的值,p指向下一單元,即p自加1。*p++是指下一個地址。

        2、(*p)++是指將*p所指的數(shù)據(jù)的值加一。

        C編譯器認(rèn)為*和++是同優(yōu)先級操作符,且都是從右至左結(jié)合的,所以*p++中的++只作用在p上,和*(p++)意思一樣;在(*p)++中,由于()的優(yōu)先級比*和++都高,所以++作用在()內(nèi)的表達(dá)式*p上。

        比如有:

        int x,y,a[]={1,2,3,4,5},*p=a,*q=a;

        x=*p++;//執(zhí)行這一句后x=a[0]=1,p=a+1

        y=(*q)++;//執(zhí)行這一句后,y=a[0]+1=2,q仍然=a

        擴(kuò)展資料:

        驗證程序1

        #include"stdio.h" void main() { int a=2; int*p=&a; int*pold;//記錄P指向的地址,為了作為比較使用 pold=p; //-----------原來的信息 printf("原來的a=%d",a); printf("原來的p=%x",p); printf("原來的pold=%x",pold); //----------進(jìn)行變化 printf("*p++的結(jié)果=%d,a的結(jié)果a=%d",*p++,a); printf("地址變化的結(jié)果p-pold=%x",p-pold); }

        程序2

        #include"stdio.h" void main() { int a=2,*p=&a,*q=&a; printf("%d%d",(*p),a); printf("%d%d%d%d",(*p)++,*p++,*q++,a); printf("%d",a); }

        程序3:

        #include"stdio.h" void main() { int a=2,*p=&a,*q=&a; printf("%d%d",(*p),a); printf("%d%d%d",*p++,(*p)++,*q++); p=&a;q=&a; printf("%d%d%d%d",a,*p,(*q)++,a); printf("%d%d%d%d",a,++(*p),++(*q),a); printf("%d",a); }

        綜上所述:

        *p++是先取出*p的值,然后讓p++

        (*p)++是先取出*p的值,讓這個值++

        *(P++)是先取出*p的值,讓p++

        所以,*p++等價于*(P++)

        而且printf的運(yùn)行順序是從右向左運(yùn)行。而且右++是在整個運(yùn)算表達(dá)式運(yùn)算完才進(jìn)行,而且右++的執(zhí)行順序是從左到右進(jìn)行。而左++遇到變量就會立即增加變量的值。

        驗證printf的運(yùn)算順序

        #include"stdio.h" void main() { int a=2; printf("a++=%d,++a=%d,a++=%d",a++,++a,a++); printf("a=%d",a); }

        推薦教程:《C#》

        贊(0)
        分享到: 更多 (0)
        網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號
        主站蜘蛛池模板: 国内精品久久久久久99蜜桃 | 最新精品露脸国产在线| 久久成人国产精品| 久久精品视频91| jizz国产精品| 华人在线精品免费观看| 久久精品中文闷骚内射| 中文字幕日韩精品在线| 男女男精品视频网站在线观看| 99精品在线免费| 四虎在线精品视频一二区| 国产精品久久久久AV福利动漫| 亚洲精品国偷自产在线| 无码8090精品久久一区| 麻豆国产精品VA在线观看不卡| 国产精品免费看久久久香蕉| 永久免费精品视频| 欧美亚洲国产成人精品| 狠狠色丁香婷婷综合精品视频| 国内精品久久久久影院免费| 99精品久久精品| 国产精品福利一区二区| 国产亚洲精品资源在线26u| 老司机午夜精品视频资源| 亚洲精品国产av成拍色拍| 亚洲无码精品浪潮| 亚洲国产精品专区在线观看| 日韩精品无码Av一区二区| 久久精品无码av| 无码国产亚洲日韩国精品视频一区二区三区 | 国产精品91av| 99久久精品国产免看国产一区| 精品欧洲av无码一区二区| 久久精品国产亚洲AV香蕉| 无码人妻精品一区二区在线视频| 亚洲AV无码久久精品狠狠爱浪潮 | 亚洲国产精品无码专区影院| 亚洲国产第一站精品蜜芽| 久久亚洲美女精品国产精品| 精品国产一区二区三区久久久狼| 国产女人精品视频国产灰线|