Veri Türleri (Data Types)

C Veri Türleri (Data Types)

C programlama dilinde değişkenlerin tipini belirlemek için ve bellekte yer ayırmak için veri türleri kullanılır. Benzer şekilde fonksiyonları da kullanmadan önce tanımlanması gerekir.

C’deki veri türleri aşağıdaki gibi sınıflandırılabilir.

No. Türler & Tanım
1 Basit Tür

Aritmetik türlerdir. İnteger türler ve kayar noktalı (floating points) türler bu sınıfa girer.

2 Numaralandırılmış Türler

Yine aritmetik türlerdir ve program boyunca yalnızca belli değerleri alan değişkenleri tanımlamak için kullanılır.

3 Void Tür

Void belirteci mevcut hiçbir değer olmadığını gösterir.

4 Türetilmiş Türler

Pointerlar, Diziler, Structlar, Unionlar, Fonksiyonlar bu tür içerisinde sınıflandırılır.

 

Integer Türü

Aşağıdaki tablo standart integer türleri, onların hafızada kapladığı alanı ve değer aralığını içerir.

 

Tür Kapladığı Alan Değer Aralığı
char 1 byte -128’dan 127’e yada 0’dan 255’e
unsigned char 1 byte 0’dan 255’e
signed char 1 byte -128’den 127’e
int 2 or 4 byte -32,768’den 32,767’e yada -2,147,483,648’den 2,147,483,647’e
unsigned int 2 or 4 byte 0’dan 65,535’e yada 0’dan 4,294,967,295’e
short 2 byte -32,768’dan 32,767’e
unsigned short 2 byte 0’dan 65,535’e
long 4 byte -2,147,483,648’dan 2,147,483,647’e
unsigned long 4 byte 0’dan 4,294,967,295’e

 

Bir platformda bir değişken türünün boyutunu öğrenmek için sizeof operatörü kullanılır. Aşağıdaki örnekte herhangi bir makinedeki int türünün büyüklüğünü verir.

#include <stdio.h>

#include <limits.h>



int main() {

printf("int türünün boyutu: %d \n", sizeof(int));



return 0;

}

 

Programı derleyip çalıştırdığınızda aşağıdaki şekilde bir sonuç gösterir.

int türünün boyutu: 4

 

Floating-Point Türleri (Kayar Nokta)

Aşağıdaki tablo kayar nokta türlerinin boyurunu, değer aralığını ve hassasiyetini gösterir.

Tür Boyut Değer Aralığı Hassasiyet
float 4 byte 1.2E-38’den 3.4E+38’e 6 ondalık
double 8 byte 2.3E-308’den 1.7E+308’e 15 ondalık
long double 10 byte 3.4E-4932’den 1.1E+4932e 19 ondalık

Float.h header dosyası programınızda bu değerleri kullanabilmeniz için gerekli makroları tanımlamıştır. Aşağıdaki örnek bir gloat tipinin boyutunu ve değer aralığını ekrana yazdırır.

#include <stdio.h>

#include <float.h>

int main() {

printf("Storage size for float : %d \n", sizeof(float));

printf("Minimum float positive value: %E\n", FLT_MIN );

printf("Maximum float positive value: %E\n", FLT_MAX );

printf("Precision value: %d\n", FLT_DIG );



return 0;

}

 

Programı derleyip çalıştırdığınızda aşağıdaki şekilde bir sonuç gösterir.

Storage size for float : 4

 

Minimum float positive value: 1.175494E-38

Maximum float positive value: 3.402823E+38

Precision value: 6

 

void Türü

Void türü hiçbir değerin mevcut olmadığını belirtir. 3 çeşit durumda kullanılır:

 

Sr.No. Tür & Tanım
1 Fonksiyon void dönüş yapar

C de fonksiyon herhangi bir değer geri döndürrmüyorsa bu fonksiyonun türü void olarak tanımlanır. Örnek : void exit()

2 Fonksiyon argümanı olarak void

C de fonksiyon herhangi bir parametre almıyor olabilir. Parametre almayan bir fonksiyon void olıyor kabul edilir.

Ör: int random_create(void);

3 Pointer’dan void’e

Pointer türünden ‘void *’ bir nesnenin tipini değil adresini belirtir.

Ör: *mallocsize , herhangi bir veri türüne dönüştürülmüş pointer değeri döndürür.

 

C Program Yapısı

C Pogram Yapısı

C programlamanın temellerine başlamadan önce en sade hali ile bir C program yapısı nasıl olur görmekte fayda var.

 

Merhaba Dünya

Bir C program yapısı basitçe aşağıdaki bölümlerden oluşur.

  • Önişlemci Komutları
  • Fonksiyonlar
  • Değişkenler
  • Açıklama & Deyimler (Statements & Expressions)
  • Yorumlar

Aşağıda örnek bir c program yapısı vardır ve kodlar ekranda “Merhaba Dünya” yazısı gösterir.

 

#include <stdio.h>

int main() {

/* C ile ilk programım */

printf("Merhaba Dünya! \n");

return 0;

}

 

 

Yukarıdaki program aşağıda parça parça açıklanmıştır:

  • Programın ilk satırı #include <stdio.h> bir önişlemci komutudur ve derleme işlemi yapmadan önce derleyiciye stdio.h dosyasını dahil etmesini söyler. Bu arada eğer .h dosyamız proje klasöründe ise “lcd.h” şeklinde yazılır. Ancak stdio.h gibi derleyici klasöründe ise <stdio.h> şeklinde yazılmalıdır.
  • Int main esas programın işleneceği ana fonksiyondur. Programımızı bu fonksiyonun içerisine yazarız.
  • /*…*/ olan satır yorum satırıdır. Derleyici bu satırları gözardı eder ve derlemez. İlgili satır hakkında açıklayıcı yorumlar yer alır.
  • printf….. “Merhaba Dünya” yazısının ekranda görüntülemek için kullanılan bir fonksiyondur.
  • return 0 ana fonksiyonu sonlandırır ve 0 değeri döndürür.

 

C – SÖZDİZİMİ

Noktalı Virgül  ‘;’

Bir C programında ‘;’ ifade sonu olarak kullanılır. Bu da her komut kendi sonunda ‘;’ olmak zorunda demektir.

Aşağıda 2 farklı ifade için örnek verilmiştir.

printf("Merhaba Dünya! \n");

return 0;

 

Yorumlar

Yorumlar C programınızdaki yardımcı yazılardır. Derleme esnasında görmezden gelinir. /* ifadesi ile yorum satırı başlar ve */ ile beraber yorum ifadeleri son bulur.

/* C kullanarak yazdığım ilk program */

 

Tanımlayıcılar (Identifier)

Tanımlayıcı bir değşkenin, fonksiyonun yada herhangi bir kullanıcı tarafından oluşturulan isimlendirmelerdir. Bir tanımlayıcı A-Z, a-z , ‘_’, 0-9 , karakterleri ile başlayabilir.

C dilinde tanımlamalarda noktalama işaretleri, @, $, ve % gibi özel işaretlerin kullanılmasına izin verilmez. C büyük-küçük harfe duyarlı bir dildir. C’de Kitap ve kitap iki farklı tanımlayıcıdır ve birbirinden bağımsızdır.

mohd zara  abc move_name a_123
myname50  _temp  j a23b9 retVal

 

Anahtar Kelimeler

Aşağıdaki listede bulunan kelimeler C dilinde rezerve edilmiştir. Bir sabit ya da değişken ismi olarak tanımlanamazlar. Tanımlanmaya çalışıldığında bir hata ile karşılaşırsınız.

auto else long switch
break enum register typedef
case extern return union
char float short unsigned
const for signed void
continue goto sizeof volatile
default if static while
do int struct _Packed
double

 

C Diline Genel Bir Bakış

Merhaba arkadaşlar bugünden itibaren C dili ile ilgili paylaşımlarıma başlıyorum. Konu anlatımlarında “https://www.tutorialspoint.com/cprogramming/c_quick_guide.htm” sitesini kaynak olarak kullanacağım. Düz anlatım olarak gerçekleştireceğim. Sorunuz olursa veya hata yaptığım bir yer görürseniz benimle iletişime geçmekten çekinmeyin. “C diline genel bir bakış” ile başlayalım isterseniz.

http://www.yunusemredurgun.com/wp-content/uploads/2018/03/C_dili.png

C diline genel bir bakış

C Dennis M. Ritchie tarafından Unix işletim sistemini geliştirmek için Bell Lab.’ta geliştirilmiş genel amaçlı bir dildir. C ilk defa 1972 yılında DEC PDP-11 bilgisayarına uygulandı.
1978 yılında Brian Kernighan ve Dennis Ritchie günümüzde K&R standardı olarak bilinen C programlama dilini oluşturdu.

UNIX işletim  sistemi ve tüm UNIX uygulamaları C dilinde yazılmıştır. C aşağıdaki nedenlerden dolayı geniş bir kullanım alanı olan profesyonel bir dil haline gelmiştir:

  • Öğrenmesi kolay
  • Yapısal bir dil
  • Etkili programlar üretebilme
  • Alt seviye işlemleri yaptırabilme
  • Farklı platformlarda derlenebilme

 

C Hakkındaki Gerçekler

  • C, UNIX işletim sistemini yazabilmek için geliştirilmiştir.
  • C, 1970 lerin başında tanıtılan B dilinin devamı niteliğindedir.
  • 1988 yılında American National Sandard Institute tarafından resmileştirildi ve ANSI C olarak anılmaya başlandı.
  • Günümüzde C en yaygın ve popüler sistem programlama dilidir.
  • Günümüzde en popüler yazılımlardan Linux OS ve RDBMS My SQL C dilinde yazılmıştır.

 

Neden C?

C başlangıçta sistem geliştirme işi için kullanılmıştır, özellikle işletim sistemleri için. C kodları neredeyse Assembly dilindeki kadar hızlı işlediği için sistem geliştirme dili olarak benimsenmiştir. C’nin kullanıldığı bazı örnekler aşağıdadır:

  • İşletim Sistemleri
  • Programlama Dili Derleyicileri
  • Yazı Editörleri
  • Ağ Sürücüleri
  • Veritabanları

 

C Programları

Bir C programı 3 satırdan milyonlarca satıra kadar “.c” uzantılı bir veya birden çok yazı dosyası içerisine yazılabilir. Örnek : “merhaba.c”.

Windows içerisindeki notepad.exe uygulaması basit bir C editörü olarak kullanılabilir.

 

C Derleyicisi

Kaynak dosyasına yazdığımız kodlar insanlar tarafından okunabilir bir şekildedir. Bu kodların derlenerek bilgisayar tarafından anlaşılabilen makina diline çevrilmesi gerekmektedir. Bu işi yapan programlara “Derleyici (Compiler)” denir.

Piyasada derleme yapabileceğiniz birçok IDE(Integrated Development Environment)  mevcuttur. Eclipse, NetBeans, Visual Studio, Dev C++ bunlardan bazılarıdır.