我讀過這個,不相信它:)我沒有編譯器在這裏測試。C中的chars [4]和4 [chars]是否相同?爲什麼?
3
A
回答
9
在原料C,該[]
符號只是一個指針數學幫手。 []
之前,你會尋找該塊中的第四個字符由ptr
喜歡指出:
*(ptr+4)
然後,他們引入了看起來更快捷:
ptr[4]
其中transaltes早前表達。但是,如果你會寫這樣的:
4[ptr]
這將轉化爲:
*(4+ptr)
這確實是一回事。
5
因爲[b]與*(a + b)完全相同,並且+是整數。
chars[4]
是*(chars+4)
,並且4[chars]
是*(4+chars)
+0
什麼是char + 4?什麼是*(chars + 4)? – 2009-11-21 20:20:10
+0
char + 4是指向數組中第四個字符的指針,*(chars + 4)將此指針取消引用,以便在字符[4]位置 – rzrgenesys187 2009-11-21 20:25:38
4
相關問題
- 1. 爲什麼.ords不同意.chars?
- 2. 爲什麼`-lt`對chars和strings有不同的表現?
- 3. Grails/RenderPdf Arabic Chars
- 4. Regex.Split on two chars
- 5. french chars html - javascript
- 6. 替換routeurl中的chars?
- 7. 爲什麼在Visual C#2008 Express中缺少StringBuilder類的Chars屬性?
- 8. Java - chars中的重複案例標籤
- 9. awkåä?umlaut-chars的長度爲2
- 10. 正則表達式Hex Chars
- 11. Nodejs swig,substring或limit chars
- 12. 爲什麼sizeof('a')在C中是4?
- 13. 通過管道|和caret^chars through batch CALL
- 14. Python(2.7.14rc1)官方文檔中帶方法的兩種不同定義? str.strip([chars])vs string.strip(s [,chars])
- 15. 整數環路希臘Chars-的Java
- 16. C#4中DLR的優勢是什麼?
- 17. 檢查4個值是否相同
- 18. 如何將chars映射到(玩)卡?
- 19. concat two * chars w/o字符串函數?
- 20. Haskell |將Chars和Int轉換爲字符串時出現問題。
- 21. 爲什麼這會導致與chars無限循環但不能雙打?
- 22. c管道爲什麼是fd [0]和fd [1] 3和4
- 23. 爲什麼x - = x + 4返回-4而不是4
- 24. 如何取代chars inorder?快速
- 25. 4和@ 4有什麼區別?
- 26. 爲什麼「食物= 4」和「趣味= 4」,內在邏輯是什麼?
- 27. Python中3%4是什麼?
- 28. MSAccess中的Excel自動化 - 使用VBA替換Chars?
- 29. 由UDF爲SSRS鑄造/轉換Chars爲Varchars
- 30. 爲什麼Hibernate 4次選擇相同的列?幫助映射?
處提供字符,所以chars是指向char []的開始處的指針。陣列。對? – 2009-11-21 20:28:15
是的,這正是一個C數組。這是一個指向數組的第一個元素的指針 – Andomar 2009-11-21 20:33:25
技術上不太完美 - 參見:http://www.lysator.liu.se/c/c-faq/c-2.html(但爲了這個答案的目的,他們足夠接近!) – SimonJ 2009-11-21 20:38:13