Bir Dizinin Boyutu Nasıl Belirlenir

İçindekiler:

Bir Dizinin Boyutu Nasıl Belirlenir
Bir Dizinin Boyutu Nasıl Belirlenir

Video: Bir Dizinin Boyutu Nasıl Belirlenir

Video: Bir Dizinin Boyutu Nasıl Belirlenir
Video: 071 C+ Boyutsuz Diziler, Eleman sayısı bulma, dizi boyutu bulma 2024, Kasım
Anonim

Diziler, program çalışması sırasında en sık kullanılan veri depolama biçimlerinden biridir. Aynı türdeki öğeleri sıralı bir sırayla düzenlemenize ve dizine göre bunlara hızlı erişim sağlamanıza olanak tanır. Çok sık olarak, C++ gibi doğrudan belleğe erişime izin veren güçlü ve esnek programlama dillerinde uygulamalar geliştirirken dizinin boyutunu belirlemeniz gerekir.

Bir dizinin boyutu nasıl belirlenir
Bir dizinin boyutu nasıl belirlenir

Gerekli

C++ derleyici

Talimatlar

Aşama 1

Dizinin boyutunu derleme zamanında sizeof operatörünü kullanarak hesaplayarak belirleyin. Bu operatör, kendisine iletilen bağımsız değişkenin kapladığı bellek miktarını (bayt cinsinden) döndürür. Argüman, bir değişken veya bir tür tanımlayıcısı olabilir. sizeof operatörü, program yürütme aşamasında nesne tarafından işgal edilen sonlu bellek miktarını döndürür (örneğin, yapı alanlarının hizalanması için ayarları dikkate alarak), ancak hesaplaması derleme aşamasında gerçekleştirilir.

Adım 2

Sizeof operatörünü kullanarak bir dizinin boyutunu belirlemek için, tüm boyutunu bir öğenin boyutuna bölün. Örneğin, aşağıdaki dizi tanımına sahipseniz: int aTemp = {10, 20, 0xFFFF, -1, 16}, o zaman boyutu şu şekilde hesaplanabilir: int nSize = sizeof (aTemp) / sizeof (aTemp) [0]);

Aşama 3

Bu yöntemin daha rahat kullanımı için, bir makro tanımlamak mantıklıdır: #define countof (a) (sizeof (a) / sizeof (a [0])) unutmayın, sizeof operatörünün değeri derleme sırasında hesaplandığından zaman, hesaplamanın yapıldığı noktada, dizinin hacmi ve elemanları hakkında bilgi açıkça mevcut olmalıdır. Başka bir deyişle, bilinmeyen boyuttaki bir dizinin parametrelerini, harici bildirimi ile belirlemek imkansızdır.

4. Adım

Sonlandırmanın bilinen işaretini kullanarak programın yürütülmesi sırasında dizinin boyutunu belirleyin. Belirsiz uzunlukta diziler şeklinde veri depolamaya ve iletmeye izin veren yaklaşımlardan biri, bir veri dizisinin tamamlandığını gösteren bir işaret için özel bir değer tahsis etmektir. Örneğin, karakter dizileri olan tek baytlık C stili dizeler 0 değeriyle bitmelidir, paketlenmiş değişken uzunluklu C dizesi dizileri sıfırla sonlandırılır ve işaretçi dizileri boş sonlandırılmalıdır.

Adım 5

Bu şekilde temsil edilen bir dizinin boyutunu belirlemek için, sonlandırıcı elemanı bulana kadar onu eleman eleman tarayın. Tarama sırasında sıfır başlatılmış sayacı artırın. Veya, bir dizi öğesi için işaretçinin değerini artırın ve taradıktan sonra, geçerli ve ilk öğelere yönelik işaretçiler arasındaki farkı hesaplayın.

6. Adım

Yöntemini çağırarak bir çerçeve veya kitaplık nesnesi tarafından temsil edilen dinamik bir dizinin boyutunu alın. Bu tür dizilerin işlevselliğini içine alan herhangi bir sınıf, mevcut eleman sayısını elde etmek için yöntemlere sahiptir. Örneğin, C++ standart kitaplığının std:: vektör şablon sınıfının bir boyut yöntemi vardır, Qt çerçevesinin QVector sınıfının bir sayım yöntemi vardır ve MFC'nin benzer CArray sınıfının bir GetCount yöntemi vardır.

Önerilen: