第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

C中是否允許負(fù)數(shù)組索引?

C中是否允許負(fù)數(shù)組索引?

C
12345678_0001 2019-08-03 13:03:28
C中是否允許負(fù)數(shù)組索引?我只是在讀一些代碼,發(fā)現(xiàn)那個(gè)人正在使用arr[-2]對象之前的第二個(gè)元素。arr,就像這樣:|a|b|c|d|e|f|g|        ^------------ arr[0]          ^---------- arr[1]    ^---------------- arr[-2]這是允許的嗎?我知道arr[x]是相同的*(arr + x)..所以arr[-2]是*(arr - 2),這似乎沒問題。你認(rèn)為如何?
查看完整描述

3 回答

?
HUX布斯

TA貢獻(xiàn)1876條經(jīng)驗(yàn) 獲得超6個(gè)贊

這是正確的。摘自C99第6.5.2.1/2號(hào)編:

下標(biāo)算子[]的de?nition是E1[E2]與(*(E1)+(E2)完全相同。

沒有魔法。這是1-1等價(jià)物。與往常一樣,當(dāng)取消引用指針(*)時(shí),您需要確保指針指向的是有效地址。




查看完整回答
反對 回復(fù) 2019-08-04
?
收到一只叮咚

TA貢獻(xiàn)1821條經(jīng)驗(yàn) 獲得超5個(gè)贊

只有在下列情況下才有效arr指向數(shù)組中的第二個(gè)元素或后一個(gè)元素的指針。否則,它將無效,因?yàn)槟鷮⒃L問數(shù)組邊界之外的內(nèi)存。因此,例如,這是錯(cuò)誤的:

int arr[10];int x = arr[-2]; // invalid; out of range

但這沒什么大不了的:

int arr[10];int* p = &arr[2];int x = p[-2]; // valid:  accesses arr[0]

然而,使用負(fù)值下標(biāo)是不尋常的。




查看完整回答
反對 回復(fù) 2019-08-04
  • 3 回答
  • 0 關(guān)注
  • 444 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)