5 回答

TA貢獻(xiàn)1條經(jīng)驗(yàn) 獲得超0個(gè)贊
申請的一個(gè)字符內(nèi)存單元,char p = 8,人通過p(假設(shè))認(rèn)識,計(jì)算機(jī)通過0x0002(假設(shè))標(biāo)識,&p 獲取0x0002
char *pt (4個(gè)字節(jié)) ?pt = &p ------> 即將0x0002 復(fù)制給pt ,通過*pt 訪問p的值8。所以指針pt的值是一個(gè)計(jì)算機(jī)能標(biāo)識的十六進(jìn)制的數(shù),整型p存放的是數(shù)據(jù)8。
以上是我對指針的理解,不知道對你有沒有幫助。

TA貢獻(xiàn)1條經(jīng)驗(yàn) 獲得超0個(gè)贊
chra *name理解為從內(nèi)存中申請一段空間,chra *name[]就是數(shù)組中的每個(gè)元素都是一段空間,
p=name ,理解為p指向name數(shù)組元素,就是第一段空間(看做整體),p++為第二個(gè)數(shù)組元素(第二段空間)
*p指向數(shù)組中的第一個(gè)元素(第一段空間的整體),也就是basic ;
?而**p是指向第一個(gè)元素的指針(指向第一段空間中的元素)就是b,*(++*p)輸出為a
用第二個(gè)問題更好理解,p=a,p指向a的整體就是basic,**p就是指向a中的第一個(gè)元素,就是b

TA貢獻(xiàn)1條經(jīng)驗(yàn) 獲得超0個(gè)贊
我的理解是這樣的。。。上面的 *p = *name = name[0]-->"basic" ,如果當(dāng)二維數(shù)組看待的話展開成name[3][8]的數(shù)組。 p = name = &name[0] ?指向第一行“basic”的首地址, *p = *(&name[0])=name[0]; ? ? ?
**p =**name = **(&name[0])=*(name[0]) = *(&name[0][0]) = name[0][0] = b.
下面的其實(shí)也同理 ? ? *p = *a = &a = b ?, **p = *(&a) = ?&b =0xfffffff....-->b的地址
指針我也是半桶水。。。不知解釋合不合理。
- 5 回答
- 0 關(guān)注
- 1701 瀏覽
添加回答
舉報(bào)