2014-10-17 199 views
1

我想知道數組中第一個元素爲零的想法來自哪裏。爲什麼不是1?我已經習慣了它爲零的事實,但不能提出第一個元素爲零的原因。爲什麼數組中的第一個元素始終爲0?

+0

[爲什麼編號應該從零開始](HTTP:/ /www.cs.utexas.edu/users/EWD/ewd08xx/EWD831.PDF) – 2014-10-17 16:44:05

+0

此外,並非所有語言/系統*都會使用0作爲第一個元素。你的問題假設這是普遍的,但事實並非如此。 – 2014-10-17 18:48:32

+0

人們必須問:爲什麼我們日常生活中的編號從1開始?每種文化都以1開頭嗎? – 2014-10-18 07:22:01

回答

2

數組是一個順序存儲器塊。如果數組的開始是在存儲器地址x,則第一元件是在地址x+0,第二個是在x+sizeof(arraytype),第三是在x+2*sizeof(arraytype)

+0

準確地說,我正要寫同樣的東西, - 這是由於實現細節使用零作爲第一個元素。 – 2014-10-17 16:50:14

2

來自C語言和彙編。指針和數組是可互換的

char* a; 
a[0] is equivalent to *(a+0) 
相關問題