指針可以進(jìn)行哪些運算 指針是整數(shù)嗎,若不是整數(shù),指針為什么可以進(jìn)行加減運算?
指針是整數(shù)嗎,若不是整數(shù),指針為什么可以進(jìn)行加減運算?小數(shù)的加減法和整數(shù)的加減法計算方法完全相同,都是把相同數(shù)位上的數(shù)相加減?十進(jìn)制的加減法與整數(shù)的加減法相同,即在同一位上加減數(shù)字。(√)指針變量有加
指針是整數(shù)嗎,若不是整數(shù),指針為什么可以進(jìn)行加減運算?
小數(shù)的加減法和整數(shù)的加減法計算方法完全相同,都是把相同數(shù)位上的數(shù)相加減?
十進(jìn)制的加減法與整數(shù)的加減法相同,即在同一位上加減數(shù)字。(√)
指針變量有加減運算,但要注意以下幾點:1。指針變量存儲地址值,即數(shù)字地址。例如,指針變量的值是0x20000000,這意味著指針變量將位于0x20000000的內(nèi)存地址存儲在內(nèi)存中。指針變量可以加減,但只能用整數(shù)數(shù)據(jù)加減。此時,加法或減法的含義不是對其地址值的加法或減法。換句話說,如果指針變量p的值是0x20000000,那么p=p 2的值不是0x20000002,它不是地址值的簡單相加,因此地址值的加減多少與指針指向的數(shù)據(jù)類型有關(guān)。如果在32位操作系統(tǒng)上,P是指向整數(shù)數(shù)據(jù)的指針變量,那么在P=p2之后,P的地址值變成0x2000008,也就是說,地址值實際加了多少:sizeof(int)*2。為了說明白點,我們添加和減去的數(shù)字是由指針指向的數(shù)據(jù)類型度量的。p2表示P在內(nèi)存中向前移動兩個int的距離。如果P不是int類型,而是其他類型,則相同。整數(shù)數(shù)據(jù)的指針減法也是如此。2指針可以減,但不能加:可以減去兩個相同類型的指針變量。它們的含義表示兩個指針指向的內(nèi)存位置之間分隔了多少個元素(請注意,它是一個元素,而不是字節(jié)數(shù))。例如,對于int類型的指針P和P1,P1-P的含義表示它們之間分隔了多少int類型的元素。其他類型的指針變量也是如此。指針變量的自加和自減實際上是整數(shù)1的加和減。三。大小可以在指針之間進(jìn)行比較。但是,它也僅限于同一類型的兩個指針變量,比較不同類型指針變量的大小是沒有意義的。指針之間大小比較的含義表示它們在內(nèi)存中指向的位置之間的高低關(guān)系。