Sizeof Operatörü
Sizeof Operatörünün incelenmesi ve sizeof operatörünün kullanım şekilleri incelendi. Basit bir uygulama gerçeklendi.
* sizeof operatörü derleme zamanında terim
olarak verilen ifadenin
* bellekte kapladığı byte miktarını verir.
* sizeof fonksiyon değil bir operatördür.
* sizeof derleme zamanı çalıştırılır. runtime
da değil.
* sizeof verilen terimin bellekte kaç byte yer
kapladığını verir.
* size_t tipinden bir değer döner. size_t =
unsigned int
*/
#include <stdio.h>
#include
<stdlib.h>
#define ARRAY_LENGTH(array) sizeof(array)/sizeof(array[0])
int main(void) {
/* sizeof fonksiyon değil bir operatördür.
*
sizeof derleme zamanı çalıştırılır. runtime da değil.
*
sizeof verilen terimin bellekte kaç byte yer kapladığını verir.
*
size_t tipinden bir değer döner. size_t = unsigned int
*/
/*{
int a;
int array[] =
{1,2,3,4,5,6,7,8,9,10};
1. sizeof(int) // 4
2. sizeof(a); // 4
3. sizeof(array) //40
}*/
//sizeof kullanım çeşitleri
{
double a = 10;
int array[10]; //10*4 = 40
printf("int
boyutu :%d\n", sizeof(int));
printf("a nin
boyutu: %d\n", sizeof(a));
printf("array
dizisinin boyutu:%d\n", sizeof(array));
}
//sizeof'un ürettiği değer unsigned
int
{
int total = -2 * (int)sizeof(double);
printf("total =
%d\n", total);
}
//sizeof fonksiyonla kullanılması
{
printf("main
fonksionun bellekteki byte=%d\n", sizeof(main()));
}
//sizeof operatörü sabit bir değer üretir.
derleme zamanı
{
char array[sizeof(double)];
printf("array
bytes = %d\n", sizeof(array));
}
//sizeof ile dizi uzunlugu hesaplama
{
int i=0;
int array[] =
{1,2,3,4,5,6,7,8,9,11,12,1,2,3,4,5,6,7,8,9,11,12};
printf("array
byte uzunlugu = %d\n", sizeof(array));
printf("array
eleman uzunlugu = %d\n", sizeof(array[0]));
int length =
ARRAY_LENGTH(array);//sizeof(array) / sizeof(array[0]);
printf("dizi
uzunlugu =%d\n", length);
for(i = 0; i <
length; ++i)
{
printf("%d.indisli
eleman = %d\n", i, array[i]);
}
}
return EXIT_SUCCESS;
}
Hiç yorum yok:
Yorum Gönder