C語言里的內(nèi)存地址是整數(shù),為什么不用int,而是用int*,主要是因?yàn)橐龅絽^(qū)分標(biāo)識作用。
同樣都是數(shù)字1234 ,那你怎么區(qū)分 那個(gè)是地址,那個(gè)是普通的數(shù)值
當(dāng)然這里代碼比較簡短,一眼就可以看穿問題所在,當(dāng)代碼量上去了,變量的定義和使用分開了,人為區(qū)分就更難了。更何況還需要幫助機(jī)器區(qū)分。
c語言里的內(nèi)存地址是整數(shù),為什么不用int,而是用int*,其次是因?yàn)榇a一般是不能存在二義性問題。 同一個(gè)作用域下不能存在相同變量,當(dāng)指針沒有* 起說明作用的時(shí)候,二義性問題將會更容易產(chǎn)生。
c語言里的內(nèi)存地址是整數(shù),為什么不用int,而是用int*,最后一點(diǎn)就是由于指針的用法所決定的,雖說指針都是一個(gè)整數(shù),但是我們使用指針,從不用關(guān)心指針變量中存儲的整數(shù)是多少,因?yàn)檫\(yùn)行程序分配的是虛擬內(nèi)存,大部分使用特定標(biāo)識即可,而不是直接使用一個(gè)確定整數(shù)。