vili
級別: *
![]() |
空指針就是這樣一種指針,由于其中只含有地址信息,沒有指定任何該地址所包含內(nèi)容的數(shù)據(jù)類型信息,因此,可以被視為“萬能指針”或者“胚指針”——任何指針在丟掉了類型信息以后,都可以轉(zhuǎn)化為空指針;同時,空指針在附加了類型信息以后,都可以成為某一數(shù)據(jù)類型的專用指針. |
---|---|
|
vili
級別: *
![]() |
指針能夠進行數(shù)值運算,是其整數(shù)存儲本質(zhì)的體現(xiàn);指針的數(shù)值運算要受到其內(nèi)部類型信息的限定,這是其指針特征的體現(xiàn)——假設(shè)指針每次數(shù)值加1的結(jié)果僅僅只是讓其記錄的MemorySpace下標增加1個單位的話,那么通過指針加1的方式來遍歷數(shù)組將會導(dǎo)致完全錯誤的結(jié)果——C語言經(jīng)典教材上說unsigned int型指針p指向了一個unsignedint型的一維數(shù)組,我們可以通過k+n的方式來訪問數(shù)組的第n個元素。空指針(void *)沒有類型信息,因此運算符sizeof()沒有辦法獲得一個確定的結(jié)果,所以空指針(void *)不允許進行整數(shù)運算。 ![]() |
---|---|
|