Warning: Undefined array key "HTTP_ACCEPT_LANGUAGE" in /var/www/vhosts/bilgigunlugum.net/httpdocs/index.php on line 43
C Programlama

BG MVC Model View Controller eğitim serisi yayında...

Ana sayfa > Programlama > C Programlama > C standart kütüphanesi > <stddef.h> > offsetof

offsetof() fonksiyonu

Bildirim

offsetof(type, member); (Makro)

Açıklama

Fonksiyonel yapıda olan bu makro, bir yapı veya bileşim veri türü içinde yer alan değişkenin offset adres değerini size_t türünde bir sabit tamsayı olarak geri döndürür.

Parametreler

type: Bir yapı veya bileşimi gösteren veri türüdür.

member: Type parametresinde gösterilen yapı veya bileşime ait bir değişkeni gösterir.

Dönüş değeri

Type parametresinde yer alan yapı veya bileşime ait olup member parametresi ile gösterilen değişkenin offset adres değeri geri döndürülür.

Örnek


#include <stdio.h>
#include <stddef.h>

struct personel {
  char adi[20];
  char soyadi[20];
  int yasi;
};

int main (void)
{
    printf ("adi değişken değerinin offsetof adresi: %d\n",(int)offsetof(struct personel, adi));
    printf ("soyadi değişken değerinin offsetof adresi: %d\n",(int)offsetof(struct personel, soyadi));
    printf ("yasi değişken değerinin offsetof adresi: %d",(int)offsetof(struct personel, yasi));

    return 0;
}

Yukarıdaki örnekte, program aşağıdaki satırları ekrana yazar:

adi değişken değerinin offset adresi: 0
soyadi değişken değerinin offset adresi: 20
yasi değişken değerinin offset adresi: 40

Yukarıdaki program, offsetof() fonksiyon makrosunu kullanarak 3 elemanlı bir yapı içindeki değişkenlerin offset adres değerlerini sırasıyla ekrana yazar.