“Nedir-Nasıl Çalışır” serisinin, C programlama dili ikinci bölümünde değişkenler ve veri türlerine giriş yapacağız. Değişkenlerin ve veri türlerinin, program üzerinde nasıl tanımlanması gerektiği ve bazı kullanım tekniklerine değineceğiz.
Serinin ilk yazısına dilerseniz buradan ulaşabilirsiniz.
C de Değişkenler
Değişkenler, belirli bir amaç için oluşturulan bir bilgisayar programındaki bilgilerin depolandığı yapılardır. Bellek üzerinde tutulurlar ve gerektiğinde içerisinde bulunan bilgilerin kullanılması için tanımlanırlar. İçerisindeki bilgiler oluşturulan program içerisindeki işlemlerle değiştirilebilirdir.
Değişkenlerin yapılması gereken işlemlere yönelik olabilidiğince uygun ve kısa isimlerle tanımlanması gerekir. Örneğin; bir sıınıfta ki öğrencilerin not ortalamasını “sınıf_not_ort” isimli bir değişken ile tanımlamak doğru olacaktır. Bunun yanında C programlama dilinde değişken tanımlamaları için bazı kurallar vardır. Bu kurallar çoğu programlama dili için de geçerlidir.
- Bir değişkende harf,rakam ve alt çizgi bulunabilir.
- Değişken adı yalnızca harf veya alt çizgi ile başlar. Rakam veya başka bir özel karakter ile başlayamaz.
- Boşluk bırakalamaz.
- C dilindeki anahtar kelimelerle başlayamaz(örn: int, float, void v.b)

Şekil 1.1 Örnek değişken tanımı

Resim 1.2 Değişken tanımlama örnekleri
Değişken Türleri
Yerel(Local) Değişkenler
Programın yapısındaki fonksiyonların, içerisinde tanımlanan değişkenlerdir. Tanımlanan bu değişkenlere, ancak içinde bulunduğu fonksiyon çağrıldığı durumda erişilebilir. Aksi halde erişilemezler.

Resim 1.3 Yerel(Local) değişken tanımı
Genel(Global) Değişkenler
Programın başında bildirilen değişkenlerdir. Fonksiyonlar içinde tanımlanmazlar ancak tüm fonksiyonların içerisinde kullanılabilirler.

Veri Türleri
Veri türleri, bir bilgisayar programının veriyi açıklamak üzerine kurulan yapıları olarak tanımlanır. Tam sayı, ondalıklı sayı, karakter gibi çeşitli değerler veri türleri ile belirtilir.

Tablo 1.1 Veri Türleri
Basit Veri Türleri
Tam sayı tabanlı ve kayan nokta(ondalıklı sayı) tabanlıdır. Aldığı değer aralığına göre işaretli ve işaretsiz olarak ikiye ayrılır.
- int = Tam sayılardır. Ondalıksız olmadan belirtilir.
- char = Tek bir karakter veya ASCII değerlerini saklayan veri türüdür.
- float = Ondalıklı sayıları tanımlamak için kullanılır. Bellekte 4 byte kadar yer alır.
- double = Float veri türünde olduğu gibi ondalıklı sayıları tanımlar. Bellekte 8 byte kadar yer alır.

Resim 1.5 Veri türleri için örnek
Yukarıdaki resimde, basit veri türleri için bazı örnekler tanımlanmıştır. %d, %f, %lf, %c ifadeleri, tanımlanan değişkenlerin ekranda gösterilebilmesi için kullanıldığı veri tipini belirtir. Oran değişkeninde “.4f” ifadesi, değişkenin virgülden sonrası için 4 basamağının gösterileceğini belirtir. Bu alanı dilerseniz göstermek istediğiniz basamak sayısına göre değiştirebilirsiniz.
Türetilmiş Veri Türleri
- Array(dizi) = Benzer türdeki veri öğelerinin tek bir küme altında toplanmasını ifade eder. Örneğin birden fazla tamsayı değeri tek bir küme altında toplanır.
- Pointer = Herhangi bir değişkenin bellekteki adresini saklamaya yarayan değişkenlerdir.
- Structure = Farklı türdeki değişkenleri(int,float,char v.b) tek bir grupta toplayabilen yapılardır. Bir kez oluşturulurlar. Ancak programın içerisinde birden fazla kullanılabilirler. Bir yönüyle sınıf(class), nesne(object) yapısıyla benzer bir şekilde çalışır.
- Union = Struct ile aynı yapıdadır. Ancak struct yapıları bellekte dafa fazla yer tahsis eder.

Resim 1.6 Dizi(Array) örnekleri

Resim 1.7 Pointer örneği

Resim 1.8 Struct veri örneği
Enum Veri Türü
Numaralandırma(Enumaration) kullanıcı tanımlı bir veri türüdür. Bir programın okunmasını kolaylaştıran sabitlere isim atamak için kullanılır.

Resim 1.9 Enum veri tipi örneği
Void Veri Türü
Herhangi bir değer döndürmeyen(return), parametre almayan fonksiyonları ve belirli bir türü olmayan işaretçileri(pointer) belirtmek için kullanılır.

https://www.geeksforgeeks.org/variables-and-keywords-in-c/
https://tr.wikipedia.org/wiki/Veri_tipi
https://www.ibm.com/docs/en/aix/7.2?topic=types-signed-unsigned-integers#a318c91d58__signintegunsigintegv
https://www.javatpoint.com/c-union
https://www.c-programming-simple-steps.com/
https://www.programiz.com/c-programming/c-enumeration
1 Yorum
e7adhj