4 回答

TA貢獻1712條經(jīng)驗 獲得超3個贊
如果兩個指針向同一個數(shù)組,它們就可以相減,其為結果為兩個指針之間的元素數(shù)目。仍以本章開頭介紹的街道地址的比喻為例,假設我住在第五大街118號,我的鄰居住在第五大街124號,每家之間的地址間距是2(在我這一側用連續(xù)的偶數(shù)作為街道地址),那么我的鄰居家就是我家往前第(124-118)/2(或3)家(我和我的鄰居家之間相隔兩家,即120號和122號)。指針之間的減法運算和上述方法是相同的。
C 語言指針怎么理解?
你可以把它想象成一條無限長的紙帶。紙帶上邊有一個個的小格子,每個小格子正好是一字節(jié),里邊能夠存放一個數(shù)字。計算機的工作就是對這些小格子里的數(shù)字做處理。雖然你在電腦上能夠看視頻、聽音樂,但這些東西本質(zhì)上都是存在內(nèi)存這條紙帶上的數(shù)字。

TA貢獻1951條經(jīng)驗 獲得超3個贊
同類型的指針可以相減,其結果是兩個指針所指向地址間相差的這個類型元素的個數(shù),如果是高地址的減低地址就是正數(shù),否則就是負數(shù)
比如int a[100], *p, *q;
p = &a[10];
q = &a[22];
那么q - p = 12,就是兩者之間差了12個元素,q在后(高地址)
p - q = -12,p在前
10 2
- 4 回答
- 0 關注
- 688 瀏覽
添加回答
舉報