[英]Arrays in C are used through pointers?
我在這里發布的一個問題是: C ++-類問題
來自@SanSS的答復之一提到了答復的以下部分:
C語言中的數組通過指針使用...
怎么做? 並且,如果可能的話,您可以舉例說明一下嗎?
謝謝。
這可能意味着兩件事:
1)下標運算符是根據指針算術定義的。 C99 6.5.2.1/2“數組下標”說:
下標運算符[]的定義是E1 [E2]與(*((E1)+(E2)))相同。
例如,假設您有一個這樣定義的數組: char s[] = "012345";
以下所有值均評估為“ 4”:
s[4]
*(s + 4)
4[s]
-這種不尋常的構造可能會讓您感到驚訝,但是由於標准定義了下標的方式,因此它相當於*(4 + s)
,與*(s + 4)
相同,並且相同作為s[4]
。 2)(與上述關系密切)數組名稱在大多數表達式中均指向指向數組第一個元素的指針(主要是對sizeof
操作的操作數)。
指針此鏈接幫助您如何通過指針使用數組。
對不起我的英語不好。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.