4..Ders : C Veri Tipleri

Bu derste, veri türlerini ve C programlamada bir değişkeni nasıl açıklayacağınızı öğreneceksiniz.

İçindekiler
– C veri tipleri (C data types)
– Temel veri tipleri (Fundamental data types)
[ int, float ve double, char, void, bool, enum, Karmaşık tipler (Complex types) ]
– short ve long
– signed ve unsigned
– Türetilmiş türler (Derived types)

C programlamada, değişkenler kullanılmadan önce bildirilmelidir. Benzer şekilde, bir fonksiyonun da kullanımdan önce bildirilmesi gerekir.

Veri tipleri basitçe değişkenler ve fonksiyonlarla ilişkili verilerin tipini ve boyutunu ifade eder.

Veri türü, temel (C derleyicisinde sağlanır) veya türetilebilir (temel veri türlerinden elde edilebilir).

Temel veri tipleri (Fundamental data types)

Bu bölüm yaygın olarak kullanılan temel veri türlerine odaklanmaktadır.

  • int
    Tamsayılar hem sıfır, hem pozitif hem de negatif değerlere sahip, ancak ondalık değer içermeyen tam sayılardır. Örnek: 0, -5, 10

Bir tamsayı değişkeni bildirmek için int kullanabiliriz.

int id;

Burada, id, integer türünde bir değişkendir.

C programlamada bir defada birden fazla değişken tanımlayabilirsiniz. Örneğin:

int id, age;

İnt’nin boyutu çoğu derleyicide 4 bayttır (32 bit). Bu nedenle, 232 farklı durum alabilir: -231, -231 + 1, …, -1, 0, 1, 2, …, 231-2, 231-1

yani, -2147483648 ila 2147483647 arasındadır.

  • float ve double
    float ve double reel sayıları tutmak için kullanılır.
float maas; 
double fiyat;

C’de, ondalıklı sayılar üslü olarak gösterilebilir. Örneğin:

float normalizationFactor = 22.442e2;

float ve double arasındaki fark nedir?

float boyutu (tek duyarlıklı) 4 bayttır. Ve double boyutu (çift duyarlıklı) 8 bayttır.

  • char

Char karakteri, karakter tipi değişkenlerini bildirmek için kullanılır. Örneğin:

char test = 'h';

karakter değişkeninin boyutu 1 bayttır.

  • void

void tamamlanmamış (incomplete) bir türdür. “Hiçbir şey” veya “tür yok” anlamına gelir. Boşluğu eksik olarak düşünebilirsiniz.

Örneğin, bir işlev hiçbir şey döndürmüyorsa, dönüş türü geçersiz olmalıdır.

Void türünde değişkenler oluşturamazsınız.

  • bool

Geleneksel olarak, C’de boolean tipi yoktu, ancak C99, başlık dosyasının altında standart bir boolean tipi tanımlar. Bir boolean türü doğru veya yanlış olmak üzere iki değerden birini alabilir. Örneğin:

#include <stdio.h>
#include <stdbool.h>

int main() {
  bool a = true;

  return 0;
}
  • enum

Enum anahtar sözcüğünü kullanarak numaralandırılmış bir tür oluşturabilirsiniz. Bir numaralandırma integral sabitlerinden oluşur. Örneğin:

enum suit { club, diamonds, hearts, spades};

Burada, değişken bir enum tipi takımı tanımlanmıştır.

  • Karmaşık tipler (Complex types)

ISO C99’da karmaşık tip desteği standart hale getirildi.

Programınıza complex.h başlık dosyasını eklerseniz, karmaşık sayıları oluşturmak ve bunlarla çalışmak için karmaşık bir anahtar kelime olarak kullanabilirsiniz. Örneğin:

#include <stdio.h>      
#include <complex.h>  

int main() {
    int complex z = 2 + 1 * I;
}

short ve long

long a;
long long b;
long double c; 

Burada a ve b değişkenleri tamsayı değerlerini kaydedebilir. Ve c ondalıklı sayıyı saklayabilir.

Yalnızca küçük bir tamsayı ([−32,767, +32,767] aralığı) kullanacaksanız, short kullanabilirsiniz.

short d;

Sizeof () operatörünü kullanarak bir değişkenin boyutunu her zaman kontrol edebilirsiniz.

#include <stdio.h>      
int main() {
  short a;
  long b;
  long long c;
  long double d;

  printf("size of short = %d bytes\n", sizeof(a));
  printf("size of long = %d bytes\n", sizeof(b));
  printf("size of long long = %d bytes\n", sizeof(c));
  printf("size of long double= %d bytes\n", sizeof(d));
  return 0;
}

signed ve unsigned

C de signed ve unsigned, tip değiştiricilerdir. Bir veri türünün veri deposunu, bunları kullanarak değiştirebilirsiniz. Örneğin:

unsigned int x;
int y;

Burada, x değişkeni sadece sıfır ve pozitif değerler tutabilir çünkü
unsigned değiştirici kullandık.

İnt’nin büyüklüğü 4 byte olduğu düşünüldüğünde, y değişkeni -231’den 231-1’e kadar değerler alabilirken, x değişkeni 0’dan 232-1’e kadar değerler alabilir.

Türetilmiş türler (Derived types)

İşte C’de türetilmiş türlerin bir listesi. Bu konular kendi bölümlerinde ele alınacaktır.

Array (Dizi türü)
Pointer (İşaretçi tipi)
Structure (Yapı tipi)
Union (Union tipi)
Function (Fonksiyon tipi )
Atomic (Atom tipi)