簡體   English   中英

通過指針使用C中的數組嗎?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM