string array c implementation representation with examples
C ++ 'daki bir Dize Dizisi bir Dizeler Dizisidir. Bu Öğreticide, C ++ 'da Dize Dizilerinin Temsili ve Uygulanmasının Ayrıntılarını İnceleyeceğiz:
Daha önceki derslerimizde C ++ dizilerini görmüştük. Diziler, çeşitli türlerdeki veri öğelerini bildirmemize izin verir. Oysa tüm sayısal veri türlerinin dizileri işlemlerde ve uygulamada aynıdır ve dize veri türüne sahip diziler farklıdır.
mac üzerinde python için en iyi fikir
C ++ 'da, dize bir karakter dizisi olarak veya C ++ tarafından desteklenen dize sınıfı kullanılarak temsil edilebilir. Her dizge veya dizi öğesi bir boş karakterle sonlandırılır. Bir karakter dizisi kullanarak dizeleri temsil etmek, C'de herhangi bir dize türü olmadığından, doğrudan 'C' dilinden alınır.
=> Ücretsiz C ++ Kursu İçin Buraya Tıklayın.
Ne öğreneceksin:
String Dizilerinin Gerçekleştirilmesi
C ++ 'da dizeler üç yol kullanılarak temsil edilebilir.
- İki Boyutlu Karakter Dizilerinin Kullanılması: Bu gösterim, her öğenin bir satır ve sütun numarasının kesişimi olduğu ve bir dizeyi temsil ettiği iki boyutlu dizileri kullanır.
- Dize Anahtar Kelimesini Kullanma: Dize dizilerini bildirmek ve tanımlamak için C ++ 'nın string anahtar sözcüğünü de kullanabiliriz.
- STL Vektörlerini Kullanma: Bir vektörün her elemanının bir dizge olduğu STL vektörlerini kullanabiliriz.
Şimdi, yukarıdaki yöntemlerin her birini tartışalım ve her gösterim için programlama örneklerine de bakalım.
İki Boyutlu Karakter Dizilerini Kullanma
Dize dizileri veya bir dizi dizisi, iki boyutlu dizilerin özel bir biçimi kullanılarak temsil edilebilir. Bu gösterimde, bir dizeyi temsil etmek için iki boyutlu bir dizi karakter dizisi kullanıyoruz.
İlk boyut, öğelerin sayısını, yani bu dizideki dizeleri ve ikinci boyut, dizideki her bir öğenin maksimum uzunluğunu belirtir.
Bu nedenle, aşağıda gösterildiği gibi genel bir temsil kullanabiliriz.
char “stringarrayname” (“number of strings”) (“maximum length of the string”)
Örneğin,aşağıdaki beyanı göz önünde bulundurun:
char string_array(10) (20);
Yukarıdaki bildirim, 10 öğeye sahip ve her öğenin uzunluğu 20'den fazla olmayan 'dizge_dizisi' adlı bir dizeler dizisi bildirir.
Dizeleri kullanarak bir hayvan dizisini aşağıdaki şekilde bildirebilir ve başlatabiliriz:
char animals (5) (10) = {“Lion”, “Tiger”, “Deer”, “Ape”, “Kangaroo”};
Kavramı daha iyi anlamak için iki boyutlu karakter dizileri kavramını kullanan bir programlama örneği görelim.
#include using namespace std; int main() { char strArray(5) (6) = {'one', 'two', 'three', 'four', 'five'}; cout<<'String array is as follows:'< Çıktı:

Yukarıdaki programda, her bir elemanın maksimum uzunluğu 10 olacak şekilde strArray adında 5 boyutunda bir dizi dizisi tanımladık. Programda, dizinin her bir elemanını görüntülemek için bir for döngüsü başlatıyoruz. Öğeyi görüntülemek için ilk boyutu kullanarak diziye erişmemiz gerektiğini unutmayın.
Elemanlara kolay erişim, 2 boyutlu dizilerin en önemli avantajlarından biridir. Programlaması gerçekten çok basit.
Bu tür bir temsilin en büyük dezavantajı, hem dizinin boyutları, yani eleman sayısı hem de elemanın maksimum uzunluğu sabittir ve istediğimiz gibi değiştirilemez.
İkinci olarak, dizinin bildirimi sırasında her elemanın maksimum uzunluğunu ikinci boyut olarak belirtiyoruz. Dize uzunluğu 100 olarak belirtilirse ve daha kısa olan tüm elemanlara sahipsek, bellek boşa harcanır.
Dize Anahtar Kelimesini kullanma
Bunda, bir dizge dizisi bildirmek için C ++ 'da' dizge 'anahtar sözcüğünü kullanıyoruz. Karakter dizilerinin aksine, burada sadece 1D dizimiz var. Tek boyut, dizideki dizelerin sayısını belirtir.
String anahtar sözcüğünü kullanan bir dizi bildirimi için genel sözdizimi aşağıda verilmiştir:
string “array name” (“number of strings”);
Burada maksimum dizi uzunluğunu belirtmediğimize dikkat edin. Bu, dizi öğelerinin uzunluğunda herhangi bir sınırlama olmadığı anlamına gelir.
Örnek olarak, aşağıdaki şekilde bir dizi renk adı tanımlayabiliriz.
string colors(5);
Bu diziyi aşağıda gösterildiği gibi daha da başlatabiliriz:
xbox one için vr var mı
string colors(5) = {“Red”, “Green”, “Blue”, “Orange”, “Brown”};
Aşağıda, dizge anahtar sözcüğünü ve bir dizeler dizisindeki kullanımını anlamak için bir C ++ programı verilmiştir.
#include using namespace std; int main() { string numArray(5) = {'one', 'two', 'three', 'four', 'five'}; cout<<'String array is as follows:'< Çıktı:

Önceki karakter dizisi programımızı değiştirdik ve string anahtar kelimesinin kullanımını gösterdik. Programın çıktısı aynıdır, ancak string anahtar sözcüğünü kullanarak bir dizi dizisini tanımladığımız için, elde edilme şekli farklıdır.
String anahtar sözcüğünü kullanan dizeler dizisinin, dizideki dizelerin uzunluğunda sınırlamamız olmadığı bir avantajı olduğunu unutmayın. Sınırlama olmadığı için bellek alanını da boşa harcamıyoruz.
Olumsuz tarafı, bu dizinin sabit bir boyutu vardır. Dizinin boyutunu önceden bildirmemiz gerekiyor.
STL Vektörlerini Kullanma
Dinamik dizileri bildirmek ve tanımlamak için STL vektörlerini de kullanabiliriz. Böylece, bir dizi dizisini tanımlamak için dizge türünde bir STL vektörüne sahip olabiliriz.
Vektör kullanan bir dizi dizisinin bu bildirimi aşağıda gösterilmiştir:
vector “stringarray_Name”;
Yukarıdaki beyana atıfta bulunarak, aşağıdaki şekilde bir 'özne' vektörünü ilan edebiliriz:
vector mysubjects;
'Push_back' yöntemini veya diğer STL vektör yöntemlerini kullanarak vektöre eleman atayabileceğimize dikkat edin.
Aşağıda, bir dizi dizisini temsil etmek için STL vektörünün kullanımını göstermek için C ++ kullanan bir programlama örneği verilmiştir.
#include #include using namespace std; int main() { vector myNumbers; myNumbers.push_back('one'); myNumbers.push_back('two'); myNumbers.push_back('three'); myNumbers.push_back('four'); myNumbers.push_back('five'); cout<<'String array is as follows:'< Çıktı:

Yukarıdaki programda, string türünde bir STL vektör myNumbers var. Daha sonra, push_back yöntemini kullanarak bu vektöre öğeler ekleriz ve ardından vektörün her bir öğesini görüntüleriz.
STL vektörünün ve dizelerin dizisinin tüm çalışmasını görürsek, bu durumda, dizideki eleman sayısı veya her bir elemanın maksimum uzunluğu konusunda bir sınırımız olmadığını görürüz. Vektörleri kullanan dizgi dizisinin tamamen dinamik olduğunu ve dinamik olarak azaltılabileceğini veya artırılabileceğini görüyoruz.
Kullanılacak Temsilcilik Nasıl Seçilir?
Artık dizge dizilerinin üç temsilini de gördüğümüze göre, üç gösterimden, vektör gösteriminin doğası gereği dinamik olduğu için en iyisi olduğu sonucuna varabiliriz.
Dize dizisinin amacına ve gereksinimlerine bağlıdır. Sabit boyutlu bir dizge dizisine ihtiyacımız olduğunda ve bir dizge dizisine girecek veriyi tam olarak bildiğimizde, karakter dizisi veya dize gösterimi için gidebiliriz.
Dize dizisinin dinamik olarak büyümesini veya küçülmesini istediğimizde, diziyi dinamik olarak değiştirerek programları geliştirmemize yardımcı olacağından vektör gösterimine başvurabiliriz.
Sonuç
Dize dizileri, dizge olarak verilere sahip özel dizilerdir. Bu, dizinin her öğesinin boş karakterle sonlanan bir dize olduğu anlamına gelir.
Bir dizi dizisinin üç temsilini, artıları ve eksileri ile birlikte ayrıntılı olarak tartıştık. İhtiyaçlarımıza göre; gerçekleştirmemize uyan herhangi bir dize dizisi temsilini kullanabiliriz.
Sonraki eğitimlerimizde, C ++ dizelerini ve C ++ işlevlerini ayrıntılı olarak keşfetmeye devam edeceğiz.
=> Kolay C ++ Eğitim Serisini Okuyun.
Önerilen Kaynaklar
- Kod Örnekleriyle Java Dizi Uzunluğu Eğitimi
- String Buffer ve String Builder Eğitimi ile Java String
- C # Dize Eğitimi - Kod Örnekleriyle Dize Yöntemleri
- Python Dizesi İşlevleri
- Örneklerle C ++ Dizileri
- Örneklerle C ++ 'da Dizeler
- Kod Örnekleriyle C # Rastgele Sayı ve C # Rastgele Dize Oluşturucu
- Örneklerle C ++ 'da Yığın Sıralama