兩個(gè)指針指向同一個(gè)地址 C語言指針可以相減嗎?為什么?
C語言指針可以相減嗎?為什么?如果兩個(gè)指針指向同一個(gè)數(shù)組,可以將它們相減,結(jié)果是兩個(gè)指針之間的元素?cái)?shù)。讓我們以本章開頭介紹的街道地址的類比為例。假設(shè)我住在第五大道118號(hào),我的鄰居住在第五大道124號(hào)
C語言指針可以相減嗎?為什么?
如果兩個(gè)指針指向同一個(gè)數(shù)組,可以將它們相減,結(jié)果是兩個(gè)指針之間的元素?cái)?shù)。讓我們以本章開頭介紹的街道地址的類比為例。假設(shè)我住在第五大道118號(hào),我的鄰居住在第五大道124號(hào)。每間房子的地址間距是2(我這邊的街道地址是連續(xù)的偶數(shù))。那么我鄰居的房子就是我房子前面的(124-118)/2(或3)房子(我鄰居的房子和我的房子分開兩個(gè)房子,即120和122)。指針之間的減法與上述方法相同。
對(duì)于類型相同的兩個(gè)指針變量之間,不能進(jìn)行的運(yùn)算是符號(hào)是?
您應(yīng)該選擇C??梢员容^選項(xiàng)a中相同類型的兩個(gè)指針的大小。比較原則應(yīng)基于實(shí)際內(nèi)存的高位和低位。B選項(xiàng)分配,當(dāng)然可以。D選項(xiàng)可以通過減去兩個(gè)相同的指針變量(應(yīng)用于特定類型的數(shù)組)來獲得相同類型的元素?cái)?shù)。不允許使用C選項(xiàng),因?yàn)閮蓚€(gè)指針不添加任何內(nèi)容,所以不允許添加。