c語(yǔ)言將地址賦值給指針變量 為什么不能把常量的地址賦給指針變量?
為什么不能把常量的地址賦給指針變量?const右側(cè)是int,也就是說(shuō)一般聲明int是個(gè)常量,常量萬(wàn)不可直接修改。這樣的話prr是個(gè)對(duì)準(zhǔn)整數(shù)常量的指針。假設(shè)不成立intaprra如果沒(méi)有不允許prprr
為什么不能把常量的地址賦給指針變量?
const右側(cè)是int,也就是說(shuō)一般聲明int是個(gè)常量,常量萬(wàn)不可直接修改。這樣的話prr是個(gè)對(duì)準(zhǔn)整數(shù)常量的指針。
假設(shè)不成立intaprra如果沒(méi)有不允許prprr,這樣是從pr指針就是可以改a,諸如*pr10這違背prr的定義,為能夠防止走小道修改a值而再次出現(xiàn)錯(cuò)誤亂,編譯器是會(huì)不提示錯(cuò)誤。
要是你只是因?yàn)橄霑r(shí)間限制prr本身絕不可以如何修改,可以這么大寫(xiě)intaint*print*constprraprprr將const寫(xiě)在prr前面,使得明確定義prr本身,也就是說(shuō)pnn是個(gè)整數(shù)的指針常量,prr的值除了定義時(shí)初始化操作,其他地方不能不能直接修改(prr的對(duì)準(zhǔn)絕不可以改變),但pnn對(duì)準(zhǔn)的地址中的值應(yīng)該也可以修改的。
這樣的prprr,就肯定不會(huì)直接出現(xiàn),是因?yàn)樗麄兌紝?duì)準(zhǔn)一個(gè)同類(lèi)型地址,且pr是個(gè)其它指針變量,所以這個(gè)可以定義變量。
C語(yǔ)言中如何交換兩個(gè)指針變量的的值?
1、必須,那是最基本的知識(shí),寫(xiě)頭文件、函數(shù)聲明、定義變量。
2、下面還必須符號(hào)表示指針,必須定義兩個(gè)指針p1和p2,然后把a(bǔ)的地址定義變量給p1,把b的地址賦值給p2。
3、接著是調(diào)用函數(shù),該函數(shù)沒(méi)有返回值,就然后全局函數(shù),可是參數(shù)剛剛進(jìn)入的是a和b的地址,而不是a和b。
4、函數(shù)點(diǎn)只用一次之后,那就是作為輸出a和b的值去看一看是否需要自動(dòng)轉(zhuǎn)換了。
5、簡(jiǎn)單,a和b的地址掌譜x和y,指針再對(duì)a和b的值參與不能操作。
6、到最后,應(yīng)該是免費(fèi)換*x和*y的值,那樣的話就是利用了a和b的值。
(C語(yǔ)言)地址為什么要變成指針才能賦值給指針變量呢?
指針即地址。因?yàn)槟膯?wèn)題問(wèn)的不對(duì)。
我所明白的估計(jì)是想問(wèn)我想知道為什么變量不需要取地址以后再定義變量給指針變量,即inta,*p;p
先講個(gè)小概念,數(shù)字23,在“今年我21歲了”這段話話中23的語(yǔ)義是年齡;在“我的偶像一名身穿23號(hào)籃球服”整句話話中23是籃球服的編號(hào)。也就是說(shuō)數(shù)字23在相同的語(yǔ)句環(huán)境中語(yǔ)義都不一樣。
回歸正題,inta,*p;p在這里我們定義了兩個(gè)整形變量,在內(nèi)存中他們都存放的是二進(jìn)制編碼,但他們的語(yǔ)義是都不一樣的,一個(gè)為了存放整數(shù),一個(gè)卻也利用能保存朝一個(gè)整形變量的指針(指針即地址)。簡(jiǎn)單的說(shuō)這兩個(gè)變量可不一樣,一個(gè)是特殊變量貯存具體用法的數(shù)值,一個(gè)是特殊變量(因?yàn)檫€要加個(gè)*號(hào)怎么分辨看看)能保存另外一個(gè)變量的物理地址。
這么大講您能清楚嘛?不明白了的話可以不再邀請(qǐng)我我能回答這個(gè)問(wèn)題。