px是指針,*px表示值,一般定義的時(shí)候?yàn)閰^(qū)別于其他變量,在變量前加*,表示這是這個指針變量,px就表示指針,后面再在px前加*,表示這個指針指向的值。
創(chuàng)新互聯(lián)長期為上千余家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為蘭溪企業(yè)提供專業(yè)的成都網(wǎng)站制作、成都做網(wǎng)站,蘭溪網(wǎng)站改版等技術(shù)服務(wù)。擁有十年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。
*px++等價(jià)于*(px++),跟(*Px)++ 完全是兩種運(yùn)算。很令人遺憾的是*(px++)不等同于px++;
*p;,因?yàn)楹笾?+操作的效果是在當(dāng)前子表達(dá)式結(jié)束(更準(zhǔn)確的術(shù)語是“順序點(diǎn)“sequence point)時(shí)生效,*(px++)實(shí)際上同義于*px;px=px+1
這個名詞翻譯成“結(jié)合性”的比較多吧。結(jié)合性影響的僅限于隱式加括號的位置,例如“前置++,--,!等運(yùn)算符的的結(jié)合性是從右到左”就表示++++a隱式加上括號后等同于++(++a),即括號總是加在靠右的位置;*,/,%,+,-之類的運(yùn)算符的的結(jié)合性是從左到右,就表示 a*b*a隱式加上括號后等同于(a*b)*c。結(jié)合性跟運(yùn)算順序是毫無關(guān)系的,這是極容易造成誤解的地方
就是正號,例如表達(dá)式“+9”中的+就是一元的
指針變量指向地址,int *是一部分,px是一部分,px才是變量名,px指向地址,*px就是地址中的值。
(事實(shí)上x=*(px++)也會是同樣的結(jié)果~~)
++在右側(cè)時(shí),會先使用變量px的值參與計(jì)算整個表達(dá)式(相當(dāng)于先忽略掉++),計(jì)算完畢后再給++左邊的變量(px)加1,然后再執(zhí)行下一句;但如果++在左邊,如x=*++px,就能使++右邊的變量先加1,然后px以新值參與計(jì)算整個表達(dá)式。
是一樣的,*pi=i只是在定義的時(shí)候把
i
的地址給
pi指針(px指向x的地址)?!盀槭裁从疫呁瑯邮堑刂?,左邊不相等呢?”這段不知道什么意思?
它們的區(qū)別是
左邊是利用返回值來讀函數(shù),而右邊是利用函數(shù)調(diào)用,
因?yàn)橹挥兄挥兄羔槻拍苄薷牡刂返闹?,要傳個地址給它,調(diào)用函數(shù)中的max要取
*,獲取它的值。
因?yàn)镻X 和PY是被定義的指針 并且已經(jīng)賦值 他們的值是X和Y的地址
所以在使用中 直接使用PX和PY代替X和Y即可。