回答
3["XoePhoenix"]
相同"XoePhoenix"[3]
,所以它會評估爲char 'P'
。
在C中的數組語法不大於寫入*(x + y)
,其中x
和y
之前和括號內是子表達式的不同的方式更。由於添加的交換性,這些子表達式可以在不改變表達式的含義的情況下進行交換。
所以3["XeoPhoenix"]
是哪裏串衰減到指針和3
添加到該指針編譯爲*(3 + "XeoPhoenix")
這在一個指向字符串中的字符第四轉的結果。 *
取消引用此指針,因此此表達式的計算結果爲'P'
。
"XeoPhoenix"[ 3 ]
將被編譯爲*("XeoPhoenix" + 3)
並且您可以看到會導致相同的結果。
很好解釋。謝謝 – Michael 2011-06-03 15:59:52
3["XeoPhoenix"]
相當於"XeoPhoenix"[3]
並且將評估爲第4個字符,即'P'
。
通常a[i]
和i[a]
是等同的。
a[i] = *(a + i) = *(i + a) = i[a]
奇怪的功能,它使它在列表頂部:http://stackoverflow.com/questions/1995113/strangest-language-feature/1995156 #1995156 – codaddict 2011-06-03 15:47:46
在C中,數組是具有連續內存塊的非常簡單的數據結構。因此它們需要是整數,因爲這些索引不過是內存中地址的偏移量。
- 1. 作爲字符的索引字符串
- 2. perl - 搜索大/排序/數組作爲字符串的索引
- 3. 使用字符串作爲JAVA中多維數組的索引
- 4. PHP - 傳遞字符串作爲對象數組的索引
- 5. 作爲字符串的R行索引?
- 6. 的Javascript字符串數組索引
- 7. 使用字符串作爲數組索引PHP
- 8. VB:ArrayList以字符串作爲索引(鍵)
- 9. PHP數組字符串鍵索引
- 10. 數組字符串多維索引
- 11. 字符串數組索引錯誤
- 12. 語法字符串VS數組索引
- 13. 子字符串數組索引問題
- 14. 字符串作爲數組
- 15. PHP數組:整數索引VS字符串索引
- 16. 使用字符串作爲數組名稱和索引獲取數組值
- 17. 如何索引二維數組與字符串的索引
- 18. 字符串數組索引值::字符串問題
- 19. Pythonic方式將字符串列表轉換爲一個字典,奇數索引字符串作爲鍵,甚至索引的字符串作爲值?
- 20. 如何使用字符串作爲數組索引路徑來檢索值?
- 21. PHP - 拆分HTML的字符串屬性爲索引數組
- 22. 如何將字符串拆分爲索引中的數組?
- 23. 查找字符串的索引,元組
- 24. 指定陣列與文字字符串索引數組與數字索引
- 25. 在字符串中搜索字符串並製作數組
- 26. 檢索數組中包含的子字符串的索引
- 27. 爲什麼字符串數組並沒有作爲第一個字符串索引
- 28. 獲取基於變量和索引的數組值作爲字符串
- 29. 引用字符串數組
- 30. 雙引號字符串轉換爲字符串數組在vb.net
另請參閱:http://stackoverflow.com/questions/381542 – x4u 2011-06-04 09:08:59