C'de Data Type

C  Programlama  Linux 

 15 Ocak 2018 - Türkiye



Follow
Follow
Follow

5 dakikalık okuma

Data Tipleri

data type

C’deki data tipleri, değişkenlerin veya farklı türdeki fonksiyonları bildirilmesi için kullanılan geniş bir sistemi ifade eder. Bir değişkenin depolamada ne kadar yer kapladığını ve saklanan bit düzeninin nasıl yorumlandığını tipi belirler.

C’deki tipler aşağıdaki gibi sınıflandırılabilir:

Bunlar aritmetik tiplerdir ve ayrıca: (a) integer tipler ve (b) kayan noktalı tipler olarak sınıflandırılırlar.
Bunlar tekrar aritmetik türleridir ve program boyunca yalnızca belirli kesikli tamsayı değerlerini atayabilen değişkenleri tanımlamak için kullanılırlar.
void belirleyici tip, kullanılabilir bir değer olmadığını gösterir.
(A) Pointer tipler, (b) Array tipler, (c) Structure tipler, (d) Union tipler ve (e) Fonksiyon tipler.

Array tipleri ve structure tipleri ortaklaşa toplanmış tipler olarak adlandırılır. Bir fonksiyon tipi, fonksiyon dönüş değerinin tipini belirtir. Gelecek bölümlerde başka tiplerin de ele alınacağı aşağıdaki bölümde temel tipleri göreceğiz.

data type

Integer Tipler

Aşağıdaki tabloda, standart integer tiplerinin ayrıntıları, depolama alanı boyutlarıyla ve değer aralıklarıyla birlikte verilmektedir.

Type Storage size Value range
char 1 byte -128 to 127 or 0 to 255
unsigned char 1 byte 0 to 255
signed char 1 byte -128 to 127
int 2 or 4 bytes -32,768 to 32,767 or -2,147,483,648 to 2,147,483,647
unsigned int 2 or 4 bytes 0 to 65,535 or 0 to 4,294,967,295
short 2 bytes -32,768 to 32,767
unsigned short 2 bytes 0 to 65,535
long 4 bytes -2,147,483,648 to 2,147,483,647
unsigned long 4 bytes 0 to 4,294,967,295

Belli bir data tipinin veya değişkenin tam boyutunu elde etmek için sizeof operatörünü kullanabilirsiniz. sizeof(type) ifadeleri, nesnenin veya yazının bayt cinsinden depolama boyutu sağlar. Aşağıda verilen, herhangi bir makinedeki int türünün boyutunu elde etmek için bir örnektir.

#include <stdio.h>
#include <limits.h>

int main() {

   printf("Storage size for int : %ld \n", sizeof(int));
   
   return 0;
}
cc -std=c11 -Wall -g my_app.c -o my_app
Storage size for int : 4

Kayan Noktalı Tipler

Aşağıdaki tabloda, standart kayan nokta tiplerinin ayrıntıları, depolama boyutları ve değer aralıkları ve bunların hassaslığı ile birlikte verilmektedir.

Type Storage size Value range Precision
float 4 byte 1.2E-38 to 3.4E+38 6 decimal places
double 8 byte 2.3E-308 to 1.7E+308 15 decimal places
long double 10 byte 3.4E-4932 to 1.1E+4932 19 decimal places

float.h üst başlık dosyası, yukarda verlen bu değerleri ve programlarınızdaki gerçek sayıların ikili gösterimi hakkında diğer detayları kullanmanıza izin veren makroları tanımlar. Aşağıdaki örnek, bir float tipini ve onun değer aralığı tarafından alınan saklama alanını yazdırır.

#include <stdio.h>
#include <float.h>

int main() {
   printf("Storage size for float : %ld\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;
}

Yukarıdaki programı derlediğinizde ve çalıştırdığınızda, Linux’ta aşağıdaki sonucu verir:

Storage size for float : 4
Minimum float positive value: 1.175494E-38
Maximum float positive value: 3.402823E+38
Precision value: 6

void tip

void tip, kullanılabilir bir değer olmadığını belirtir. Üç çeşit durumlarda kullanılır.

Sr.No. Types & Description
1

Function dönüşü olarak void

C'de herhangi bir değer döndürmeyen çeşitli foksiyonlar vardır ya da void döndürdüklerini söyleyebilirsiniz. Dönüş değeri olmayan bir foksiyonun void dönüş tipi vardır. Örneğin, void exit (int status);

2

Fonksiyon parametresi olarak void

C'de herhangi bir parametre kabul etmeyen çeşitli fonksiyonlar vardır. Parametre içermeyen bir fonksiyon boşluğu kabul edebilir. Örneğin, int rand(void);

3

Pointers olarak void

void * tipinde bir işaretçi, bir nesnenin adresini temsil eder, ancak tipini belirtmez. Örneğin bir bellek ayırma fonksiyonu, a memory allocation function void *malloc( size_t size ); herhangi bir veri türüne aktarılabilen void bir işaretçi döndürür.




Paylaş:



En Yeni İçerikler

İlgili İçerikler