Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bir alt simge ifadesinde de aşağıdaki gibi birden fazla alt simge olabilir:
expression1 [ expression2 ] [ expression3 ] /*...*/ ;
Alt simge ifadeleri soldan sağa ilişkilendirilir. En soldaki alt simge ifadesi, expression1[ expression2 ]önce değerlendirilir. İşaretçi ifadesi eklemenin expression1 ve expression2 oluşturmanın sonucu olan adres; sonra expression3 yeni bir işaretçi ifadesi oluşturmak için bu işaretçi ifadesine eklenir ve son alt simge ifadesi eklenene kadar böyle devam eder. Son işaretçi değeri bir dizi türünü ele almadığı sürece, son alt simgeli ifade değerlendirildikten sonra dolaylı işleç (*) uygulanır.
Birden çok alt simge içeren ifadeler "çok boyutlu dizilerin" öğelerine başvurur. Çok boyutlu dizi, öğeleri dizi olan bir dizidir. Örneğin, üç boyutlu bir dizinin ilk öğesi iki boyutlu bir dizidir.
Örnekler
Aşağıdaki örneklerde prop adlı dizi, her biri int değerlerinin 4 ile 6 dizisi olan üç öğeyle bildirilir.
int prop[3][4][6];
int i, *ip, (*ipp)[6];
prop dizisine yapılan başvuru aşağıdaki gibi görünür:
i = prop[0][0][1];
Örnek, öğesinin ikinci tek int öğesine nasıl başvuracaklarını propgösterir. Diziler satıra göre depolanır, bu nedenle en hızlı son alt simge değişir; prop[0][0][2] ifadesi dizinin sonraki (üçüncü) öğesine başvurur ve bu düzen böyle devam eder.
i = prop[2][1][3];
Bu deyim, prop'un öğesine yapılan daha karmaşık bir başvurudur. İfade, aşağıdaki gibi değerlendirilir:
İlk alt simge
2, 4 ile 6intdizisi ile çarpılır vepropişaretçi değerine eklenir. Sonuç, üçüncü 4 ile 6prop'a işaret eder.İkinci alt simge
1, 6 öğeliintdizisinin boyutuyla çarpılır veprop[2]tarafından temsil edilen adrese eklenir.6 öğeli dizinin her öğesi bir
intdeğerdir, bu nedenle son alt indis,3'ainteklenmeden önce boyutuylaprop[2][1]çarpılır. Elde edilen işaretçi, 6 öğeli dizinin dördüncü öğesine yöneliktir.Yöneltme yol işleci işaretçi değerine uygulanır. Sonuç, bu adresteki
intöğesidir.
Bu sonraki iki örnek, dolaylı işlecin uygulanmadığı durumları gösterir.
ip = prop[2][1];
ipp = prop[2];
Bu deyimlerin ilkinde ifade prop[2][1] , üç boyutlu diziye propgeçerli bir başvurudur; 6 öğeli bir diziye (daha önce bildirilir) başvurur. İşaretçi değeri bir diziye hitap ettiğinden, dolaylı işleci uygulanmaz.
Benzer şekilde, ikinci prop[2] deyimindeki ipp = prop[2]; ifadesinin sonucu, iki boyutlu diziye yönelik olan bir işaretçi değeridir.