C++ Tarafından Desteklenen Veri Türleri

C++ Tarafından Desteklenen Veri Türleri

C++ tarafından desteklenen veri türleri hakkında tüm detayları bu yazımızda bulabilirsiniz İster öğrenci, ister yazılımcı olun C++ ile çalışırken kullanabileceğiniz en yaygın veri türleri burada!

C++ Tarafından Desteklenen Veri Türleri

C++ dilinde kullanılan veri türleri, programlama dillerindeki diğer veri türlerinden oldukça farklıdır ve son derece etkilidir. Bu veri türleri sayesinde daha hızlı ve daha verimli kod yazmak mümkündür. Şimdi, C++ dilinde kullanılan veri türlerinin bir listesine ve her birinin kısaca açıklanmasına göz atalım.

Veri Türü Açıklama
int Tam sayılar
char Tek bir karakter
float Ondalıklı sayılar (küçük)
double Ondalıklı sayılar (büyük)
bool Doğru veya yanlış (true/false)

Bu veri türlerinin her biri, farklı bir amaç için kullanılır ve C++ dilinde bulunan en temel veri türleridir. Bu veri türlerinin dışında, C++ dilinde diziler, yapılar, gösterge ve işaretleyiciler gibi benzersiz veri türleri de bulunmaktadır.


Temel Veri Türleri

C++ dilinde kullanılan temel veri türleri olan int, char ve double, programlama dillerinin çoğunda da kullanılan veri türleridir. Integer (int) veri türü tam sayılarda kullanılırken, char karakter verileri ve double ise ondalıklı sayıları ifade etmek için kullanılır.

int veri türü, **veya** işlemi için kullanılabilecek en küçük veri türüdür ve genellikle sayısal değerlerin saklanması ve manipülasyonu için kullanılır. Char veri türü ise her biri tek bir karakteri temsil eden bir karakter dizisi olarak kullanılabilir. Double veri türü ise ondalık sayılar için kullanılır ve bir float veri türüne kıyasla daha yüksek bir hassasiyet sağlar.

Aşağıdaki tablo, basit bir tanımlama ve kullanım örnekleri ile birlikte C++ dilindeki temel veri türlerinin özelliklerini özetler:

Veri Türü Tanımlama Kullanım Örnekleri
int Bir tam sayıyı saklar int x = 5;
char Bir karakteri saklar char y = 'a';
double Bir ondalık sayıyı saklar double z = 3.14;

C++ dilindeki temel veri türleri, diğer veri türleri ile birlikte daha karmaşık veri yapılarının oluşturulmasında da kullanılır. Bu veri yapılarına örnek olarak diziler, yapılar ve sınıflar gösterilebilir. Bu yapıların iyi anlaşılması, C++ dilindeki başarılı programlamaya temel bir adım olacaktır.


Diziler

C++ dilindeki diziler birçok veri öğesini tek bir değişkende depolamamızı sağlayan yapılar olarak tanımlanabilir. Birbirine benzer verilerin gruplanması için kullanılan diziler sayesinde veriler daha kolay kontrol edilebilir, düzenlenebilir ve ulaşılabilir hale gelir.

Diziler temel olarak tek boyutlu ve çok boyutlu olarak ikiye ayrılır. Tek boyutlu diziler sadece bir boyutlu verileri içerirken, çok boyutlu diziler birden fazla boyutta depolanabilir. Dizilerin avantajlarından biri, kod tekrarını önleyerek daha az kod yazmaya ve yazılan kodların daha düzenli ve okunaklı olmasına yardımcı olmasıdır.

Dizi Türü Açıklama
Int Dizisi Tam sayıları depolamak için kullanılır.
Char Dizisi Karakterleri depolamak için kullanılır.
Double Dizisi Ondalık sayıları depolamak için kullanılır.

Diziler C++ dilinde tanımlanırken boyutları mutlaka belirtilmelidir. Ayrıca, dizilerin elemanlarına erişmek için indis numaraları kullanılır. Dizinin ilk elemanı indis numarası olarak sıfır (0) değerini alır.

Bir dizinin elemanlarının okunması, değiştirilmesi veya hesaplama yapılması için çeşitli yöntemler kullanılabilir. Bu işlemler yapılırken döngü yapılarından faydalanılır. Aynı zamanda, C++ dilinde dizi elemanlarının toplamı veya ortalama hesaplama gibi işlemleri yapmak için hazır fonksiyonlar da bulunmaktadır.

  • Dizi boyutunun dinamik olarak belirlenmesi için pointer kullanılabilir.
  • Bir dizinin elemanlarını diğer bir diziye kopyalamak için döngü kullanılabilir.
  • İki diziyi birleştirmek için strcat() fonksiyonu kullanılabilir.

Tek Boyutlu Diziler

Tek boyutlu diziler, öğelerin bir sırayla gruplandırıldığı ve bir variablenin birden fazla değer taşımasını sağlayan yapılardır. Tek boyutlu bir dizi oluşturmak için, veri türü belirtilir ve köşeli parantezler içinde eleman sayısı belirtilir. Örneğin, integer bir dizi oluşturmak için:

Kod: int sayilar[5];
Açıklama: 5 elemanlı bir integer dizisi oluşturulur.

Dizideki her eleman, dizinin adı ve köşeli parantezler içindeki indis numarası kullanılarak erişilebilir. Ayrıca, elemanlara atama yapmak için da bu yöntem kullanılabilir. Örneğin:

Kod: sayilar[0] = 2;
Açıklama: Dizinin ilk elemanına 2 değeri atanır.

Benzer şekilde, dizinin elemanları da değiştirilebilir. Örneğin:

Kod: sayilar[1] = sayilar[0] + 3;
Açıklama: Dizinin ikinci elemanına, ilk elemanın değeri artı 3 atanır.

Tek boyutlu diziler, sıralı veriler için sıklıkla kullanılırlar. Aynı anda birden fazla değer kullanmak yerine, diziler sayesinde tek bir değişkende birçok değer saklanabilir ve bu değerler farklı şekillerde kullanılabilir. İndeks numaraları sayesinde de elemanlara kolayca erişilip değiştirilebilirler.


Dizi Boyutunun Belirlenmesi

Dizilerin boyutu, tanımlandığı anda belirtilir. Dizi boyutunu belirlemek için C++ dilinde iki yöntem kullanılır: sabit boyutlu dizi ve değişken boyutlu dizi.

Sabit boyutlu dizilerde, dizi boyutu tanım aşamasında belirtilir ve programın çalışması sırasında boyutu değiştirilemez. Değişken boyutlu diziler ise programın çalışma anında boyutu belirlenebilen dizilerdir.

Sabit boyutlu dizilerde boyut bilgisi derleme zamanında belli olduğu için bu yöntem, programın çalışma zamanında izleyeceği bellek haritasının önceden bilinmesini sağlar. Böylece program bellek bölgesini oluşturma işlemini hızla yapabilir. Değişken boyutlu dizilerde ise, programın çalışma zamanında her defasında dizi boyutunu hesaplayarak belleğin kullanımında artışa neden olur.

Yöntem Tanım Zamanı Boyut Değiştirme
Sabit boyutlu dizi Tanımlama anında Boyut değiştirilemez
Değişken boyutlu dizi Program çalışma anında Boyut değiştirilebilir

Yukarıdaki tablo, sabit boyutlu diziler ile değişken boyutlu diziler arasındaki farkları özetlemektedir. Hangi yöntemin kullanılacağına karar verirken, bellek kullanımı, hız ve esneklik gibi faktörler göz önünde bulundurulmalıdır.

Programlama dilleri içinde en sık kullanılan veri türleri arasında yer alan diziler, C++ dilinde birçok farklı özelliğe ve işleve sahiptir. Dizi boyutlarını doğru belirlemek, programların hızlı ve etkili çalışmasını sağlar. C++ dilindeki dizi boyutunu belirleme yöntemleri arasında en uygun olanı, programın ihtiyaçlarına en uygun yöntemdir.


Dizi İşlemleri

C++ dilinde dizi işlemleri, dizi elemanlarını okumak, değiştirmek veya hesaplama yapmak için kullanılan yöntemlerden oluşur. Diziler, birçok programda sıkça kullanıldığı için bu işlemleri bilmek oldukça önemlidir.

Dizi elemanlarına erişmek için [], yani köşeli parantez kullanılır. Örneğin, int sayilar[5] dizisi içindeki 3. elemana erişmek için sayilar[2] yazılır. Ayrıca, dizi elemanlarını değiştirmek için de bu yöntem kullanılır. Örneğin, sayilar[2] = 10; yazarak, 3. elemanın değerini 10 olarak değiştiririz.

Dizi elemanlarının toplamını veya ortalamasını almak gibi hesaplamalar yapmak için for döngüsü kullanılabilir. Örneğin,

Kod Açıklama
        int sayilar[5] = {1, 2, 3, 4, 5};        int toplam = 0;        for(int i = 0; i < 5; i++){            toplam += sayilar[i];        }        cout << "Toplam: " << toplam << endl; //Toplam: 15        cout << "Ortalama: " << toplam / 5 << endl; //Ortalama: 3      
Bir dizi oluşturuluyor, dizi elemanları toplanıyor ve sonuçlar ekrana yazdırılıyor.

Bu örnekte, döngü içinde sayilar dizisi elemanları toplanarak toplam değişkenine atanıyor. Sonra, toplam değişkeni 5'e bölünerek ortalama hesaplanıyor ve sonuçlar ekrana yazdırılıyor.


Çok Boyutlu Diziler

C++ dilinde çok boyutlu diziler birden fazla boyutta veri depolamak için kullanılır. Örneğin, bir matris bir iki boyutlu dizi olarak düşünülebilir. Çok boyutlu diziler, tek boyutlu diziler gibi tanımlanırken boyutları da belirtilir. Dizi boyutları virgülle ayrılarak parantez içinde belirtilir. Örneğin, bir 2x3lük bir matris aşağıdaki gibi tanımlanabilir:

int matris[2][3];

Burada, 'int' veri tipi kullanıldı ve iki boyutlu bir matris olarak tanımlandı. İlk boyut 2, ikincil boyut 3 olacak şekilde belirtildi.

Matrisler gibi çok boyutlu diziler de dizi elemanlarına erişmek için indekslenir. Amaç, istenen verilere kolayca ulaşmaktır. Aşağıdaki örnekte matris elemanlarına nasıl erişeceğimizi gösteren bir kod var:

int matris[2][3] = {{1, 2, 3}, {4, 5, 6}};cout << matris[0][0]; // 1cout << matris[0][1]; // 2cout << matris[1][2]; // 6

Burada, iki boyutlu bir matris 'matris' tanımlanır ve elemanlara ulaşmak için indeksleme kullanılır. Örneğin, 'matris[0][0]' ifadesi matrisin ilk elemanına, 'matris[0][1]' ifadesi matrisin ikinci elemanına ve 'matris[1][2]' ifadesi matrisin altıncı elemanına atıfta bulunur.

Çok boyutlu diziler, matris, tablo gibi yapıları işlemek için kullanışlıdır. Örneğin, çarpım, toplama gibi matematiksel işlemlerle, verileri daha düzenli bir şekilde saklamak veya diğer yapılarda kullanmak için kullanılabilirler.


Matrisler

Matrisler, C++ dilinde çok boyutlu diziler arasında yer almaktadır ve kullanımı oldukça yaygındır. Matrisler, verileri satır ve sütunlar şeklinde düzenler ve işlemler yapmamızı kolaylaştırır.

C++ dilinde matris oluşturmak için, tek bir boyutlu bir dizi içinde birden fazla boyuttan yararlanabiliriz. Örneğin, 3x3 boyutlarında bir matris oluşturmak için:

int matris[3][3];

Bu şekilde, matrisin boyutları belirtilerek oluşturulabilir. Matris elemanlarına tek boyutlu bir dizide olduğu gibi ulaşılır ve değiştirilir. Matris elemanlarını okumak ve yazdırmak için, döngüler kullanılabilir. Örneğin, aşağıdaki kod bloğu 3x3 boyutlarında bir matris oluşturur ve her elemanına 0 değerini atar:

int matris[3][3];
for(int i=0; i<3; i++) {
 for(int j=0; j<3; j++) {
  matris[i][j] = 0;
 }
}

Matrisler üzerinde birçok işlem yapılabilir. Örneğin, matrisler toplanabilir, çarpılabilir, tersi alınabilir ve daha birçok işlem yapılabilir. Bu işlemler için, hazır fonksiyonlar veya kendimize özgü fonksiyonlar yazabiliriz.

Matrisler, C++ dilindeki temel veri türlerinden biridir ve uygulama alanları oldukça geniştir. Özellikle mühendislik ve bilim alanlarında matrislerin kullanımı oldukça yaygındır.


Dizi ve Matris Fonksiyonları

C++ dilinde diziler ve matrisler, sıklıkla kullanılan veri tipleridir. Bu veri tiplerinin işlemleri için kullanılabilecek hazır fonksiyonlar ve kütüphaneler, işleri kolaylaştırır ve zaman kazandırır.

İki boyutlu dizilerin işlemleri için kullanılabilecek birçok farklı fonksiyon ve kütüphane vardır. Bunlar arasında, std::fill() ve std::copy() gibi standart C++ işlevleri, özellikle dizileri doldurmak, kopyalamak ve sıralamak için kullanılır. Ayrıca, boost kütüphanesi gibi üçüncü taraf kütüphaneleri de kullanabilirsiniz.

Matrislerin işlemleri için kullanabileceğiniz hazır fonksiyonlardan biri transpose() fonksiyonudur. Bu fonksiyon, belirtilen matrisin transpozunu oluşturur ve geri döndürür. Bir başka önemli fonksiyon ise dot() fonksiyonudur. Bu fonksiyon, iki vektör veya matrisin çarpımını hesaplar ve sonucu döndürür.

Bunlar, sadece kullanabileceğiniz birkaç hazır fonksiyon örneğidir. C++ dilinde bu tür fonksiyonlar için birçok alternatif olanak vardır. Kendi işlemleriniz için kullanabileceğiniz bu hazır fonksiyonlar ve kütüphaneler, programlama işlerinizi hızlandırır ve verimliliğinizi arttırır.


Karakter Dizileri

Karakter dizileri (string), C++ dilinde karakter veri tiplerinin bir araya gelmesiyle oluşturulan bir veri tipidir. Çok sayıda karakterin bir arada kullanılacağı durumlarda karakter dizileri kullanılır.

Karakter dizileri, çift tırnak işareti (" ") veya tek tırnak işareti (' ') arasında yazılır. Bir karakter dizisi, bir dizinin elemanları gibi indekslenir ve her karakterin sırası vardır. İlk karakterin indeksi 0'dır ve son karakterin indeksi, dizinin uzunluğundan bir eksiktir.

C++ dilinde karakter dizilerinin kullanımı oldukça yaygındır. Metin işleme, veri dosyası işlemleri ve grafik kullanıcı arayüzü uygulamalarında kullanılır. Ayrıca, string işlemleri için hazır fonksiyonlar ve kütüphaneler de vardır.

Bir karakter dizisi oluşturmak için, değişken tipi olarak char yerine string kullanılır. Dizi elemanlarını birleştirmek için + operatörü kullanılır.

Kod Açıklama
string ad = "John";
Bir karakter dizisi oluşturma
string soyad = "Smith";
Bir karakter dizisi daha oluşturma
string adsoyad = ad + soyad;
İki karakter dizisini birleştirme
cout << adsoyad;
Birleştirilmiş karakter dizisini ekrana yazdırma

Bir karakter dizisini karşılaştırmak için == veya != operatörleri kullanılır. İki karakter dizisinin karşılaştırması, ASCII sıralamasına göre yapılır. ASCII sırası, karakterlerin bir sayıya karşılık geldiği sıralamadır. Örneğin, büyük harf 'A' karakteri ASCII kodu olarak 65'tir.

Kod Açıklama
string kelime1 = "merhaba";
Bir karakter dizisi oluşturma
string kelime2 = "dunya";
Bir karakter dizisi daha oluşturma
if (kelime1 == kelime2) {
Karakter dizilerini karşılaştırma
cout << "İki kelime eşit." << endl;
Kelime eşit ise bu mesajı ekrana yazdırma

Bir karakter dizisinin uzunluğunu almak için length() fonksiyonu kullanılır.

Kod Açıklama
string kelime = "merhaba";
Bir karakter dizisi oluşturma
cout << kelime.length();
Karakter dizisinin uzunluğunu ekrana yazdırma

Bir karakter dizisinde belirli bir karakterin kaç kez geçtiğini bulmak için count() fonksiyonu kullanılır.

Kod Açıklama
string kelime = "merhaba";
Bir karakter dizisi oluşturma
cout << kelime.count('a');
"a" karakterinin kaç kez geçtiğini ekrana yazdırma

Karakter Dizi İşlemleri

Karakter dizileri, birden fazla karakterden oluşan verilerdir ve sıklıkla kullanılan veri yapılarından biridir. C++ dilinde karakter dizileri, string gibi bir dizi veri türü olarak kullanılabilir. Karakter dizilerinin oluşturulması ve manipülasyonu için birçok işlem vardır.

Karakter dizisi oluşturma: Karakter dizileri, çift tırnak içindeki karakterlerle oluşturulabilir. Ayrıca, char veri türü kullanarak da oluşturulabilir. Örneğin:

char myString[] = "Merhaba Dünya";
char myString[20] = {'M', 'e', 'r', 'h', 'a', 'b', 'a', ' ', 'D', 'ü', 'n', 'y', 'a', '\0' };

Karakter dizilerini birleştirme: strcat() fonksiyonu, iki karakter dizisini birleştirmek için kullanılabilir. İlk parametre, sonuna birleştirilecek karakter dizisi, ikinci parametre ise sona eklenen karakter dizisidir. Örneğin:

char myString1[] = "Merhaba ";char myString2[] = "Dünya!";strcat(myString1, myString2);cout << myString1;

Karakter dizilerini karşılaştırma: strcmp() fonksiyonu, iki karakter dizisini karşılaştırmak için kullanılır. Eğer iki karakter dizisi eşitse, sonuç 0 olacaktır. Örneğin:

char myString1[] = "Merhaba";char myString2[] = "Dünya!";int result = strcmp(myString1, myString2);cout << result;

Karakter dizilerinde arama işlemleri: strchr() ve strstr() fonksiyonları, karakter dizilerinde arama işlemleri için kullanılır. strchr() fonksiyonu, belirtilen bir karakteri, str String’ini arar. strstr() fonksiyonu ise belirtilen bir alt dizeyi, str String’inde arar. Örnekler:

char myString[] = "Merhaba Dünya";char *ptr = strchr(myString, 'D');cout << ptr;
char myString[] = "Merhaba Dünya";char *ptr = strstr(myString, "Dünya");cout << ptr;

Karakter dizileri, C++ programlama dilinde sıklıkla kullanılan veri yapılarından biridir. Bu yazımızda karakter dizilerinin nasıl oluşturulacağı, birleştirileceği, karşılaştırılacağı ve aranacağı konularına değindik.


Göstergeler

C++ dilinde gösterge, bellek adresleri üzerinde çalışan bir veri türüdür. Gösterge veri türü, bir değişkenin bellek adresini belirleyerek, o değişkenin bellekteki konumuna erişim sağlar. Göstergelerin kullanımı, programlama dilinde çok önemlidir çünkü göstergeler, bellek adreslerini doğrudan kullanarak hızlı ve zarif programlar yazılmasına olanak tanır.

Göstergelerin önemli faydalarından biri, veri işleme işlemi için minimum bellek kullanımı sağlamasıdır. Özellikle büyük veri setleri ile çalışırken, göstergelerin kullanımı, programın bellek kullanımını optimize etmek için ideal bir yöntemdir. Aynı zamanda, yerel değişkenlerin değerlerinin bir fonksiyon tarafından başka bir fonksiyonla paylaşılmasını sağlayarak modüler bir program tasarımı yapmak için de kullanılır.

Gösterge Türü Açıklama
Karakter Göstericileri Char değişkenleri bellek adresindeki tuttuğu ASCII değeri kullanarak işlem yapmak için kullanılır.
Tamsayı Göstericileri İşaretli ve işaretli olmayan tamsayı değişkenlerinin bellek adreslerini belirlemek için kullanılır.
Float ve Double Göstericileri Float ve Double değişkenleri adreslerini belirlemek için kullanılır.

C++ dilinde göstergeler, asterisk (*) işaretiyle tanımlanır. Bir değişkenin bellek adresi, & operatörü kullanılarak alınır ve gösterge değişkenine atanır. C++ dilinde gösterge işlemleri için çeşitli operatörler kullanılır.

  • Asterisk (*) - İşaretçinin değerini gösterir.
  • Adres ve içerik operatörleri - & ve * işaretleri, sırasıyla göstergenin adresini ve adresindeki içeriği gösterir.
  • Aritmetik operatörler - Gösterge aritmetiği ile bellek adreslerindeki verilere erişim sağlanabilir.

Göstergeler, C++ programlama dilinde oldukça önemlidir ve bellek kullanımı optimizasyonu ve veri işlemede hızlı ve kolay erişim sağlar. Ancak, gösterge kullanımı, programlama yeni başlayanlar için zorlu bir konudur, bu nedenle başlangıç seviyesindeki kişilerin dikkatli olmaları ve programlarında temel veri türlerini kullanmaları önerilir.


Gösterge İşlemleri

C++ dilinde göstergeler, bellekte başka bir değişkenin yerini gösteren özel bir veri türüdür. Bu veri tipi işaretçi olarak da adlandırılır. Gösterge işlemleri, işaretçi değişkenleri üzerinde yapılan işlemlerle gerçekleştirilir.

Gösterge işlemleri yapmak için bazı operatörler kullanılır:

Operatör Açıklama
* Gösterge değişkeninin değerine erişmek için kullanılır.
& Bir değişkenin bellek adresini almak için kullanılır.
- Bir gösterge değişkeninden diğer bir gösterge değişkeninin bellek adresini çıkarmak için kullanılır.
++ Gösterge değişkeninin değerini 1 artırmak için kullanılır.
-- Gösterge değişkeninin değerini 1 azaltmak için kullanılır.

Bunlar temel operatörlerdir ancak gösterge işlemleri için birçok farklı operatör bulunmaktadır. Gösterge işlemleri, bellekteki adresleri bildiğimiz zaman çok faydalı olabilir.

Gösterge değişkenlerinin kullanımı öğrenildikten sonra, kodlama sırasında başka bir değişkenin değerine erişmek veya bir işlem için bir bellek bölgesi ayırmak için kullanılabilirler. Ayrıca, gösterge değişkenleri sayesinde, fonksiyonlara geçirilen değişkenler üzerinde işlem yapmak da mümkündür.