一個(gè)指針賦值給另一個(gè)指針 (C語(yǔ)言)地址為什么要變成指針才能賦值給指針變量呢?
(C語(yǔ)言)地址為什么要變成指針才能賦值給指針變量呢?指針就是地址。所以你的問(wèn)題不對(duì)。我的理解是,我想問(wèn)為什么變量需要取地址,然后給指針變量賦值,即int a,*P P=&a讓我們來(lái)談?wù)勔粋€(gè)小概念,數(shù)字
(C語(yǔ)言)地址為什么要變成指針才能賦值給指針變量呢?
指針就是地址。所以你的問(wèn)題不對(duì)。
我的理解是,我想問(wèn)為什么變量需要取地址,然后給指針變量賦值,即int a,*P P=&a
讓我們來(lái)談?wù)勔粋€(gè)小概念,數(shù)字23,在句子“我今年23歲”中,23的意思是年齡;在句子“我的偶像穿著23號(hào)籃球服”,23是籃球服的號(hào)碼。也就是說(shuō),數(shù)字23在不同的句子環(huán)境中具有不同的語(yǔ)義。
在本文中,我們定義了兩個(gè)成形變量。在內(nèi)存中,它們都存儲(chǔ)二進(jìn)制代碼,但語(yǔ)義不同。一個(gè)用于存儲(chǔ)整數(shù),另一個(gè)用于存儲(chǔ)指向成形變量的指針??傊?,這兩個(gè)變量是不一樣的。一個(gè)是存儲(chǔ)常用值的公共變量,另一個(gè)是存儲(chǔ)另一個(gè)變量的物理地址的特殊變量(因此我們需要添加*符號(hào)來(lái)區(qū)分它)。
你能理解嗎?如果你不明白,你可以請(qǐng)我再回答這個(gè)問(wèn)題。
指針變量給指針變量賦值什么意思?
指針變量是用于存儲(chǔ)指針的變量。例如,inti,J,*P,*q定義整數(shù)變量I和指針變量P。I用于存儲(chǔ)整數(shù),P用于存儲(chǔ)指針,但指針指向整數(shù)變量。P=&I將I(即指針)的地址存儲(chǔ)在變量P中,指針P指向變量I;同樣,P=&J指向變量J。當(dāng)q=P時(shí),指針變量P為指針變量q賦值,即存儲(chǔ)在變量P中的指針存儲(chǔ)在變量q中。如果P最初指向J,然后q也指向J
C語(yǔ)言對(duì)指針賦值有多少種方法?
不管你在哪種系統(tǒng)中,你都應(yīng)該區(qū)分指針本身和指針指向的數(shù)據(jù)類型
如果你定義char*P,P指向的內(nèi)容是字符類型,但并不意味著P是字符類型,也就是說(shuō)P不必是字節(jié),int*P是相同的;
您可以使用sizeof來(lái)查看
例如,您可以定義類型(例如char int long…)*P sizeof(*P)sizeof(P)
例如,在32位系統(tǒng)中,無(wú)論前面的類型是塑料還是實(shí)數(shù),sizeof(P)的值都是相同的,都是4;在8位系統(tǒng)中(例如SCM系統(tǒng)),它應(yīng)該是1或2(這應(yīng)該與SCM的型號(hào)有關(guān),不同的SCM系統(tǒng)也應(yīng)該不同)
也就是說(shuō),指針本身不區(qū)分類型,它只是一個(gè)指向不同事物的代碼
就像一個(gè)50人的類,一個(gè)100人的類,不管這個(gè)類中有多少人,都是一樣的稱為1級(jí)和2級(jí)