Aracılığıyla paylaş


Tek boyutlu diziler

Bir deyimin ardından köşeli parantez içinde bir ifade ([]) bir array nesnesi öğesinin altına bir gösterimidir.Alt indis ifadesi olan adres değeri temsil ifade ötesinde konumlandırır sonek ifade olarak ifade edilen,

postfix-expression [ expression ]

Genellikle, tarafından temsil edilen değer sonek ifade gibi bir dizi tanımlayıcı bir işaretçi değeri ve ifade ayrılmaz bir değerdir.Ancak, tüm sözdizimi kurallarına göre ise bu ifadelerin biri işaretçi türünü ve diğer tamamlayıcı türünde olması gereklidir.Tam sayı değer dolayısıyla olabilir sonek ifade parantez içinde konum ve işaretçi değeri olabilir ifade, ya da "alt simge," konumu.Örneğin, bu kod yasal şöyledir:

// one_dimensional_arrays.c
int sum, *ptr, a[10];
int main() {
   ptr = a;
   sum = 4[ptr];
}

Alt indis sınırlı ifadeler genellikle dizi öðelere baþvurmak için kullanılır ancak herhangi bir işaretçi bir altyordam uygulayabilirsiniz.Hangi değerlerin sırasını, ifade parantezler içine ([]).

İşaretçi değeri tam sayı değer ekleme ve sonra gerekebilen işleci uygulama alt indis ifadesi değerlendirilir (*) sonuca.(Bkz: gerekebilen ve adresi, işleçleri gerekebilen işletmenin bir tartışma için.) Gerçekte, tek boyutlu bir dizi için aşağıdaki dört ifadeler eşdeğer varsayılarak, a gösteren bir işaretçidir ve b bir tamsayıdır:

a[b]
*(a + b)
*(b + a)
b[a]

Toplama operatörü için dönüştürme kuralları uyarınca (içinde verilen Additive işleçleri), tam sayı değer bir adres uzaklık işaretçisi tarafından giderilen tipinin uzunluğunu çarparak dönüştürülür.

Örneğin, tanımlayıcı varsayalım line dizisi için başvuruda int değerler.Aşağıdaki yordam alt indis ifadesi değerlendirmek için kullanılan line[ i ]:

  1. Tamsayı değeri i tanımlı uzunluğunu bayt sayısı ile çarpılır bir int madde.Dönüştürülmüş değeri i temsil eden iint pozisyonları. 

  2. Bu dönüştürülmüş değeri orijinal işaretçi değerine eklenir (line) mahsup edilen bir adres verecek biçimde iint gelen konumlandırır line. 

  3. Yeni adrese gerekebilen işleci uygulanır.O konumdaki dizi öğesinin değeri sonucudur (postayı kolayca, line [ i ]).

Alt indis ifadesi line[0] bu yana gösterdiği adres uzaklığı satırının ilk öğenin değerini temsil eden line 0'dır.Benzer şekilde, gibi bir ifade line[5] satır öğesi uzaklığı beş konumdan ya da dizinin altıncı öğesine başvurur.

Ayrıca bkz.

Başvuru

Alt simge işleci:]