C++ Dize Veri Türü ve Kullanımı

C++ Dize Veri Türü ve Kullanımı

C++ programlama dilindeki dize veri türü, karakter dizilerini ifade etmek için kullanılır Dize oluşturmak için char ve string veri türleri kullanılabilir Char veri türü tek karakterli dize oluştururken, çift tırnak içinde yazılan karakterlerin bir araya gelmesiyle daha uzun dizeler oluşturulabilir String veri türü ise birden çok karakter içeren dize oluşturma olanak tanır Dizeler üzerinde arama, birleştirme, parçalama gibi işlemler yapılabilir C++ dilini öğrenenlerin dize veri türü hakkında temel bilgilere sahip olması önemlidir

C++ Dize Veri Türü ve Kullanımı

C++ programlama dili, özellikle yazılım geliştirme alanında çok yaygın bir şekilde kullanılıyor. Bu dili kullanırken dize veri türü hakkında bilgi sahibi olmak oldukça önemlidir. C++ dize veri türü, karakter dizilerini ifade etmek için kullanılır. Dize veri türü, metin tabanlı uygulamaların geliştirilmesi için kullanılır. Bu nedenle, C++ dilini öğrenenlerin dize veri türü hakkında temel bilgilere sahip olması gerekiyor.

C++ dize veri türü, karakterlerin bir araya gelerek oluşturduğu dizilere verilen isimdir. Bu diziler, genellikle çift tırnak işaretleri ile ifade edilir. Dize veri türü, farklı karakterler içerebilir, bu karakterler sayılar ya da özel karakterler olabilir. Dize veri türlerinin birçok işlemi yapılabilir ve bu işlemlerle istenilen sonuca ulaşılabilir. Dize veri türü hakkında daha detaylı bilgi sahibi olmak için aşağıdaki başlıklara göz atabilirsiniz.


Dize Veri Türü Nedir?

C++ programlama dilindeki dize veri türü, karakter dizilerini kodlamak ve saklamak için kullanılan veri türüdür. Dize veri türü, bir karakter dizisi olarak tanımlanabilir ve birbirinden farklı karakterlerin bir araya gelmesi ile oluşur. Bu karakterler, harf, sayı, özel simgeler veya diğer özel karakterler olabilir.

Dize veri türü, C++ programlama dilinde en sık kullanılan veri türlerinden biridir. Birçok alanda, özellikle de metin tabanlı uygulamalarda kullanılır. Dize veri türü, sabit veya değişken boyutlu olabilir ve boyutu, dizide saklanan karakterlerin sayısına bağlıdır. Yani, bir dize veri türünün boyutu, o dizedeki karakter sayısına göre belirlenir.


Dize Oluşturma ve Kullanma

C++ programlama dilinde dize veri türü, metin ve karakter dizilerini tanımlamak için kullanılır. Dize veri türü, char ve string veri türleri ile oluşturulabilir. Char veri türü, tek karakteri temsil ederken, string veri türü birden çok karakteri içerebilir.

Char ve string veri türleriyle dize oluşturma yöntemleri, aşağıda yer almaktadır:

Veri Türü Oluşturma Yöntemi Örnek Kullanım
char char diziAdi[] = "Dize Metni";
char isim[] = "Ahmet";
cout << isim;
//Çıktı: Ahmet
string string dizeAdi = "Dize Metni";
string isim = "Ahmet";
cout << isim;
//Çıktı: Ahmet
string dizeAdi(dizeMetni);
string soyisim("Yılmaz");
cout << soyisim;
//Çıktı: Yılmaz

Dize oluşturulduktan sonra, dize veri türü üzerinde işlemler yapmak mümkündür. Dize içerisinde arama yapma, birleştirme, parçalama gibi işlemler, bunlar arasında yer almaktadır. Bu işlemler hakkında daha detaylı bilgi, ilgili başlıklar altında verilecektir.


Dize Oluşturma Yöntemleri

Dize veri türü, programlamada oldukça önemli bir veri türüdür. C++ programlama dilinde dize oluşturma yöntemleri arasında 'char' ve 'string' veri türleri ile hareket etmek mümkündür. Char veri türü, önceden belirlenmiş boyutta bir karakter dizisi oluşturma yöntemidir. Bu yöntem, programcılara bireysel karakterlerin dizelerine eklendiği bir dizgi oluşturma olanağı sunar. Örneğin;

Kodu Açıklama
char adi[20] = "Merhaba Dunya"; "Merhaba Dunya" karakter dizisi, "adi" değişkenine kopyalandı

Bu kod, "Merhaba Dunya" karakter dizisini "adi" değişkenine kopyalar. Bununla birlikte, string veri türü, birden fazla karakter dizisini birleştirerek daha karmaşık dizeler oluşturma yeteneği sağlar. Bu yöntem, programcıların değişken boyutlarını belirlemeden de karakter dizisi oluşturmalarına olanak tanır. Örneğin;

Kodu Açıklama
string isim = "Ali"; "isim" değişkeni "Ali" karakter dizisine atandı.
string soyisim = "Kara"; "soyisim" değişkeni "Kara" karakter dizisine atandı.
string adSoyad = isim + " " + soyisim; "isim" ve "soyisim" değişkenleri birleştirilerek "adSoyad" karakter dizisine atandı.

Bu kod, "isim" ve "soyisim" değişkenlerini birleştirerek "adSoyad" karakter dizisini oluşturur. Programcılar, değişkenler arasına boşluk veya başka karakterler ekleyerek daha karmaşık dizeler de oluşturabilirler.


Char Veri Türü ile Dize Oluşturma

Char veri türü, C++ programlama dilindeki en temel dize veri türüdür. Char veri türü ile oluşturulan dizeler, karakterlerden oluşur. Dört işaretli tek tırnak kullanılarak, tek karakterli dize oluşturulabilir. Örneğin: 'a', 'b', '3', '?' gibi.Char veri türü ile oluşturulan daha uzun dizeler ise çift tırnak içinde yazılabilir. Bu işlem sonucunda, tırnak içindeki karakterler sırayla bir araya gelerek bir dize oluştururlar. Örneğin:

'Merhaba'

Bu dize, 'M', 'e', 'r', 'h', 'a', 'b', 'a' karakterlerinden oluşur. Bir karakter dizisi oluşturmak için, char veri türü bir değişken tanımlanarak dize değeri atanabilir. Örneğin:

char isim[]="Ahmet";

İsim adında bir değişken oluşturulmuş, bu değişkene "Ahmet" karakter dizisi atanmıştır. Bu işlem sonucunda, isim[0] değişkeni 'A' karakterini, isim[1] değişkeni 'h' karakterini tutmaktadır.Char veri türü ile dize oluşturma yöntemleri bu kadar kolaydır. Ancak unutmamak gerekir ki, char veri türü ile oluşturulan dizeler sınırlıdır ve uzun dize oluşturma işlemleri için string veri türü daha uygun bir seçenek olacaktır.

String Veri Türü ile Dize Oluşturma

C++ programlama dilinde dize veri türü oluşturmak için 'string' veri türü de kullanılabilir. 'string' veri türü, kullanıcının dize uzunluğunu kontrol etmesine gerek kalmadan, dinamik bir şekilde dize oluşturmasını sağlar. 'string' veri türü, 'char' veri türünden farklı olarak, dize oluştururken bellek boyutu için önceden bir alan tahsis etmez, ihtiyaç duyduğu alana ayrılarak dinamik bir şekilde dize oluşturur.

String veri türü ile dize oluşturma için, oluşturulacak dizeyi içeren tek tırnak yerine çift tırnak kullanılır. Örneğin;

Kod Açıklama
string isim = "Ali"; 'isim' isimli string değişkeni "Ali" olarak başlatıldı.
string soyisim = "Yılmaz"; 'soyisim' isimli string değişkeni "Yılmaz" olarak başlatıldı.

Yukarıdaki örnekte görüldüğü gibi, string veri türü ile dize oluştururken dize içerisinde boşluk bırakılabilir. Ayrıca, string veri türü, 'char' veri türünde olduğu gibi, dize içerisindeki her karaktere bir indis numarası ile erişim sağlar. Örneğin;

Kod Açıklama
string kelime = "merhaba"; 'kelime' isimli string değişkeni "merhaba" olarak başlatıldı.
cout << kelime[0] << endl; 'kelime' string değişkeninin 1. indiste bulunan karakteri ekrana yazdırıldı.

Yukarıdaki örnekte, 'kelime' string değişkeninin 1. indis numarasında bulunan karakter "m" olduğu için ekrana "m" yazdırıldı.


Dize Kullanımı

Dize veri türü programlama dilinde sıkça kullanılan bir veri türüdür. Dize veri türü içerisinde karakterleri ve metinleri saklamamıza olanak verir. Bu veri türü üzerinde yapılan işlemler sayesinde, dize veri türü kullanımının geniş bir yelpazesi bulunmaktadır. Dize kullanımına örnekler arasında, kullanıcı tarafından girilen bir kelimeyi tersten yazdırma, bir kelime içerisinde yer alan belirli bir karakterin kaç kere geçtiğini hesaplama, bir string'in içerisinde belirli bir kelimeyi arama gibi işlemler yer alabilir.

Dize veri türü kullanımı sırasında dizenin uzunluğunu öğrenmek oldukça önemlidir. Bu işlem için C++ dilinde 'strlen' fonksiyonu kullanılır. Dize karşılaştırma işlemi de sıkça kullanılan bir işlemdir. Bu işlem için C++ dilinde 'strcmp' fonksiyonu kullanılır. 'strcmp' fonksiyonu kullanılarak iki dizinin karşılaştırması yapılır ve sonuç olarak bir değer döndürülür. Eğer iki dize birbirine eşitse sonuç 0, eğer ilk dize ikinci diziden önce geliyorsa sonuç negatif, eğer ikinci dize ilk diziden önce geliyorsa sonuç pozitif olarak döndürülür.

Bunların yanı sıra, dize veri türü üzerinde birçok farklı işlem yapılabilmektedir. Bu sayede, farklı programlama projelerinde dize veri türü kullanımı oldukça yaygındır.


Temel Dize İşlemleri

Dize veri türü, programlama dilleri arasında oldukça sık kullanılan bir veri türüdür. C++ programlama dilinde de dize veri türü kullanımı oldukça yaygındır. Dize veri türü üzerinde yapabileceğimiz birçok temel işlem bulunmaktadır.

Öncelikle, dize veri türü üzerinde yapabileceğimiz temel işlemlerden biri; dize uzunluğunu öğrenme işlemidir. Bu işlem için 'strlen' fonksiyonu kullanılmaktadır. strlen fonksiyonu, verilen dize içinde yer alan karakter sayısını hesaplamaktadır. Bu sayede, verilen dizenin kaç karakterden oluştuğunu öğrenebiliriz. Ayrıca, dize veri türü üzerinde yapılabilecek bir diğer temel işlem ise; dize karşılaştırma işlemidir. Dize veri türü üzerinde yer alan 'strcmp' fonksiyonu, iki dizeyi karşılaştırmaktadır.

Dize veri türü üzerinde yapabileceğimiz bir diğer temel işlem ise; alt dize alma işlemidir. Bu işlem için 'substr' fonksiyonu kullanılabilmektedir. substr fonksiyonu, verilen dize içinden, belirtilen bir aralıktaki karakterleri alarak, yeni bir dize oluşturmaktadır. Dize veri türü üzerinde yer alan 'replace' fonksiyonu ise; belirli bir dize içinde, belirlenen bir kısmı, yenisiyle değiştirmek için kullanılabilmektedir.

Dize veri türü üzerindeki temel işlemler arasında yer alan bir diğer işlem ise; dize birleştirme işlemidir. Dize veri türü üzerinde yer alan 'concatenate' fonksiyonu, birçok dizeyi birleştirerek, yeni bir dize oluşturmaktadır. Dize birleştirme işlemi, özellikle birden fazla dize içinden tek bir dize oluşturmak istediğimiz zamanlarda oldukça faydalıdır.

Özetlemek gerekirse; dize veri türü C++ programlama dilinde oldukça sık kullanılan bir veri türüdür. Dize veri türü üzerinde yapabileceğimiz birçok temel işlem bulunmaktadır. Bu temel işlemler arasında; dize uzunluğunu öğrenme, dize karşılaştırma, alt dize alma, dize birleştirme, dize bölme ve dize biçimlendirme işlemleri yer almaktadır. Bu işlemler, C++ programlama dilinde dize veri türü üzerinde çalışırken oldukça faydalı olmaktadır.


Alt Dize Alma

C++ programlama dilinde dize veri türü üzerinde yapılan işlemler arasında en yaygın olanı alt dize alma işlemidir. Dize içerisindeki belirli bir bölümü, alt dize olarak ayrıştırabiliriz. Bu işlem için 'substr()' fonksiyonu kullanılır. Bu fonksiyon, belirli bir başlama ve bitiş indeksine sahip olan alt bir dize oluşturur.

Substr() fonksiyonu, iki parametre alır: başlama indeksi ve alt dizenin uzunluğu. Başlama indeksi, dizenin neresinden başlayacağını, uzunluk ise alt dizenin ne kadar uzun olacağını belirler.

substr() Kullanımı Açıklama
string str = "Merhaba dunya";
string substr1 = str.substr(3, 6);
cout << substr1;
str dizisinin 3. indeksinden başlayarak, 6 karakterden oluşan bir alt dize elde edilir.
Çıktı: haba d
string str = "Dize islemleri";
string substr2 = str.substr(5);
cout << substr2;
str dizisinin 5. indeksinden itibaren, geri kalan kısmı alır ve alt bir dize oluşturur.
Çıktı: islemleri

Yukarıdaki örneklerde de görülebileceği gibi, substr() fonksiyonu ile dize içerisinde belirli bir aralıkta yer alan karakterler, yeni bir dize haline getirilerek kullanılabilir. Böylece, belirli bir dizeyi parçalar halinde işleyebilir ve programlama sürecinde kullanabilirsiniz.


Dize Birleştirme

Dize birleştirme işlemi, C++ programlama dilinde oldukça sık kullanılan temel işlemler arasında yer alır. Bu işlem, bir veya daha fazla dizeyi birleştirerek yeni bir dize oluşturmayı sağlar. Dize birleştirme işlemi, '+' işareti kullanılarak gerçekleştirilir.

Örneğin, "Merhaba" ve "Dünya" dize veri tipleri varsa, iki dizeyi birleştirmek için şu kod kullanılabilir:

string str1 = "Merhaba";string str2 = "Dünya";string result = str1 + " " + str2;

Bu kod, "Merhaba Dünya" adlı yeni bir dize oluşturur. '+' işareti, dize birleştirme işlemi için kullanılırken, '+' işaretini kullanmanın yanı sıra += operatörü de kullanılabilir. Örneğin, yukarıdaki kodu şu şekilde de yazabilirsiniz:

string str1 = "Merhaba";string str2 = "Dünya";str1 += " ";str1 += str2;

Bu kod da "Merhaba Dünya" adlı yeni bir dize oluşturacaktır. Bu yöntem, birden fazla dize birleştirme işlemi yaparken daha verimli olabilir.

Dize birleştirme işlemi, tablolar veya listeler gibi diğer HTML öğeleriyle de kullanılabilir. Örneğin, bir dizi adı içeren bir liste oluşturmak için şu kod kullanılabilir:

string names[] = {"Ali", "Veli", "Ayşe", "Fatma"};string result = "
    ";for (int i=0; i<4; i++) { result += "
  • " + names[i] + "
  • ";}result += "
";

Bu kod, "names" adlı bir dizi tanımlar ve bu dizide bulunan adları bir listede birleştirir. Daha sonra, bu liste, "

    " ve "
" etiketleri arasında result adlı dize değişkenine kaydedilir. for döngüsü kullanılarak her ad "
  • " ve "
  • " etiketleri arasına yerleştirilir ve sonuç olarak oluşan liste, HTML koduyla birleştirilir.

    Dize birleştirme işlemi, C++ programlama dilinde oldukça kullanışlı bir işlem olduğu gibi HTML öğeleriyle birleştirilerek daha karmaşık yapılar da oluşturulabilir.


    Dize Bölme

    Dize bölme işlemi, C++ programlama dilinde oldukça sık kullanılan bir işlemdir. Dize veri türü üzerinde bir dizi karakter içinde istenilen bir alt dizinin seçilmesi işlemi olarak tanımlanabilir. Dize bölme işlemi için kullanılan substr() fonksiyonu, dize veri türünde oldukça etkili bir yöntemdir.

    substr() fonksiyonu, ilk parametresi başlangıç konumu olacak şekilde kullanılır ve ikinci parametresi ise alınacak karakter sayısını belirler. Aşağıdaki örnek bu fonksiyonun kullanımını göstermektedir:

    Kod:

    string myStr = "Merhaba Dunya";string subStr = myStr.substr(0, 7);

    Açıklama:

    Bu örnek, "Merhaba Dunya" dizesindeki ilk 7 karakteri alarak "Merhaba" alt dizisini oluşturur.

    Bir başka kullanım örneği, dize veri türü üzerindeki bir karakter dizisi içinde arama işlemidir. Aşağıdaki örnekte, substr() fonksiyonu kullanılır ve "Dunya" alt dizisi oluşturulur:

    Kod:

    string myStr = "Merhaba Dunya";string subStr = myStr.substr(8);

    Açıklama:

    Bu örnekte, "Merhaba Dunya" dizesindeki 8. karakterden sonraki tüm karakterler "Dunya" alt dizisini oluşturmak için kullanılır.

    Dize bölme işlemi, programlama dilindeki birçok algoritmada oldukça önemlidir ve substr() fonksiyonunun sağladığı esneklik sayesinde, dize üzerinde birçok işlem kolay ve hızlı bir şekilde gerçekleştirilebilir.


    Özel Karakterler ve Dize İşlemleri

    C++ programlama dilinde, dize veri türü üzerinde işlem yaparken özel karakterlerle de çalışmanız gerekebilir. '\n' karakteri, yeni satır oluşturmak için kullanılırken, '\r' karakteri, bir satırın başına dönülmesi için kullanılır. '\t' karakteri, sekme boşluğu olarak kullanılırken, '\\' karakteri ise kaçış karakteri olarak kullanılır.

    '\\' karakteri eğer bir karakter dizisi içinde kullanılacaksa, öncesine tekrar '\\' eklemek gereklidir. Bu örneğin dize içinde tek tırnak kullanmak istediğinizde kullanacağınız '\\\'' karakter dizisi ile örneklenebilir.

    Dize veri türü üzerinde, sprintf() fonksiyonunu kullanarak dize biçimlendirebilirsiniz. Bu fonksiyon , belirli bir sabit yapıya sahip olan dize verileri oluşturmanızı sağlar. Tablo veya form gibi biçimlendirmeler için de kullanılabilir.

    Aşağıdaki örnek, printf() fonksiyonunun özel karakterlerle kullanımına bir örnektir:

    #include<iostream>

    using namespace std;

    int main() { string ad = "Ahmet"; string soyad = "Yılmaz"; printf("Merhaba %s %s! \n", ad.c_str(), soyad.c_str()); return 0;}

    Yukarıdaki örnekte, "Merhaba Ahmet Yılmaz!" çıktısı oluşturulurken, '\n' karakteri ile yeni satır oluşturulmaktadır. sprintf() fonksiyonu ise daha karmaşık biçimlendirmeler için kullanılabilir.


    Özel Karakterler

    Özel karakterler, dize veri türünde sık kullanılan karakterlerdir ve bazen normal karakterlerden farklı işlevlere sahiptir. C++ programlama dilinde kullanılan özel karakterler arasında '\n', '\r', '\t' ve '\\' bulunmaktadır.

    '\n' karakteri, yeni bir satır başlatmak için kullanılır. Örneğin, "Merhaba\nDünya" ifadesi iki ayrı satırda görüntülenir:

    MerhabaDünya

    '\r' karakteri de yeni bir satır başlatmak için kullanılır ve '\n' karakterinden farkı, imleci satır başına taşımayıp aynı satırda kalmasını sağlamasıdır. Ancak, modern işletim sistemlerinde genellikle bu karakteri kullanmaya gerek yoktur.

    '\t' karakteri, sekmeler arasında boşluk bırakmak için kullanılır. Örneğin, "Adı:\tJohn" ifadesinde, "Adı" ve "John" arasında birkaç boşluklu tab görüntülenir:

    Adı:    John

    En çok kullanılan özel karakterler arasında '\\' karakteri, kaçış karakteri olarak adlandırılır ve diğer özel karakterlerle karıştırılmamasını sağlar. Örneğin, "Yarın saat 18:00'de buluşalım" ifadesinde, tarih ve saat arasında tek tırnak kullanılır ve kaçış karakteri '\\'' ile işaretlenir:

    Yarın saat 18:00\'de buluşalım

    C++ programlama dilinde, özel karakterlerin kullanımı ile ilgili bazı işlemler de mümkündür. Örneğin, string sınıfının at() fonksiyonu, dize içinde belirtilen konumdaki karakteri belirleyebilir. Ayrıca, sprintf() fonksiyonu, dize biçimlendirme işlemlerinde kullanılan özel bir araçtır.

    Özetle, özel karakterler, C++ programlama dilinde dize veri türü üzerinde işlemleri daha kolay ve verimli hale getirir. Bu nedenle, özel karakterlerin kullanımı ile ilgili temel kavramlarının öğrenilmesi önemlidir.


    Dize Biçimlendirme

    C++ programlama dilinde dize biçimlendirme, printf() ve scanf() fonksiyonlarının yanı sıra sprintf() fonksiyonu ile de yapılabilir. sprintf(), belirtilen desen ve değişkenlerle bir dizgi oluşturur. Bu fonksiyon, önceden belirlenmiş bir deseni kullanarak, farklı değişkenleri biçimlendirmek için kullanılır. Desen bir dize olup, belirtilen değişkenler, dizenin çeşitli yerlerinde görülebilir.

    Sprintf() kullanırken, desenin içine yerleştirilmiş değişkenler sırayla, belirtildiği şekilde yazdırılır. Örneğin, "Öğrenci adı: %s, Numarası: %d" gibi bir desende, %s, bir dize belirtirken, %d, bir tam sayı belirtir. Sprintf (), belirtilen desene göre, dize verilerini sıralar ve düzenler. Sprintf(), aynı zamanda printf() ile yer alan tekrar kullanılan bir çoklu dize yapısında da kullanılabilir.

    Bir diğer dize biçimlendirme yöntemi de, dize formatlama özelliği olan stringstream. stringstream, sınırsız sayıda veri türü için kullanılabilir ve basit biçimlendirme için popüler bir yöntemdir. Yapısı, bir veri alır ve dize biçimlendirme ile kullanmanıza olanak tanır.

    Aşağıdaki örnekler, sprintf() fonksiyonu kullanarak, dize biçimlendirmenin nasıl yapıldığını göstermektedir:

    Örnek ve Açıklama Çıktı
    sprintf(str, "Merhaba %s", isim); "Merhaba Ali"
    sprintf(str, "Yaşınız %d", yas); "Yaşınız 25"

    Aşağıdaki örnek, stringstream kullanarak dize biçimlendirmeyi göstermektedir:

    #include <iostream>#include <sstream>using namespace std;int main(){    stringstream sso;    int a = 10;    float b = 3.14;    string c = "C++";    sso << "Dersler: " << a << "\t" << b << "\t" << c;    string d = sso.str();    cout << d << endl;    return 0;}

    Yukarıdaki örnek, "Dersler: 10 3.14 C++" çıktısını verir.