我想知道數組中第一個元素爲零的想法來自哪裏。爲什麼不是1?我已經習慣了它爲零的事實,但不能提出第一個元素爲零的原因。爲什麼數組中的第一個元素始終爲0?
1
A
回答
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)
相關問題
- 1. 第一個數字是始終爲0
- 2. 元素offsetHeight始終爲「0」
- 3. 爲什麼定義\ 0作爲C中char數組的第一個元素?
- 4. 爲什麼數組中的第一個元素是空的?
- 5. 爲什麼LOOKUP不匹配數組中的第一個元素?
- 6. 爲什麼我的NSRange始終爲0?
- 7. 爲什麼grid.Rows.Count始終爲0?
- 8. 爲什麼Appointment.Conflicts.Count始終爲0?
- 9. 爲什麼xmlhttp.status始終爲0?
- 10. 爲什麼只返回數組的第一個元素?
- 11. 爲什麼爲這個數組中的第一個元素打印垃圾?
- 12. 爲什麼cvSet2D接受一個雙元組元組,爲什麼這個元組全部爲0,除了第一個元素?
- 13. 爲什麼則getIdentifier始終爲0返回一個字符串
- 14. nasm文件緩衝區的第二和第三個元素始終爲0
- 15. 何時/何時/爲什麼第一個數組元素下降?
- 16. 爲什麼不輸出第一個元素數組?
- 17. 爲什麼我應該「將myVariable轉換爲最終的一個元素數組」?
- 18. 爲什麼選擇菜單中的第一項始終爲空?
- 19. 爲什麼只初始化第一個元素?
- 20. c#數組的長度始終爲0
- 21. 爲什麼elem_match返回0個元素?
- 22. 爲什麼我只接收數組中每個元素的第一個值?
- 23. 爲什麼我不能更改數組的第二個元素?
- 24. 爲什麼將0作爲數組的第一個元素阻止「for」循環執行。 [JavaScript的]
- 25. 爲什麼我的HeapSort會跳過數組中的第一個元素?
- 26. 爲什麼使用p:nth-child(3n + 0)css僞類從第2個元素開始?
- 27. 爲什麼在第一個標題中有一個span元素?
- 28. 爲什麼應用跳過用於參數的數組的第一個元素?
- 29. Extjs組合框始終顯示所選的第一個元素
- 30. Elasticsearch,爲什麼被添加元素始終爲空
[爲什麼編號應該從零開始](HTTP:/ /www.cs.utexas.edu/users/EWD/ewd08xx/EWD831.PDF) – 2014-10-17 16:44:05
此外,並非所有語言/系統*都會使用0作爲第一個元素。你的問題假設這是普遍的,但事實並非如此。 – 2014-10-17 18:48:32
人們必須問:爲什麼我們日常生活中的編號從1開始?每種文化都以1開頭嗎? – 2014-10-18 07:22:01