Variadic Fonksiyon
Variadic Fonksiyon konusuna değinilen kısım.
Variadic Fonksiyon Nedir?
Bir fonksiyonun sınırsız şekilde argüman alması istenirse bu konuda variadic fonksiyon bu duruma çözüm sunabilir.
...
ifadesinden önce mutlaka bağımsız bir parametreye (değişkene) ihtiyaç duyulur. Bu parametre girilecek olan argüman sayısı olabilir. Veya birden fazla bağımsız parametre de oluşturulabilir.
C dilinde, variadic fonksiyonları işlemek için va_...
yapıları kullanılır bu yapılara <stdarg.h>
kitaplığı ile erişilebilir;
va_list
:
va_list
değişken sayıda argümanları saklamak için kullanılan bir veri türüdür.Genellikle bir fonksiyonun içinde, değişken sayıda argümanları bu veri türü ile tutarsınız.
va_start
:
va_start
işlevi,va_list
ile tutulan argüman listesini başlatır ve ilgili fonksiyona gönderilen ilk argümanın adresini belirtir.
va_arg
:
va_arg
işlevi,va_list
ile tutulan argüman listesinden bir sonraki argümanı alır ve belirtilen türde bir değere dönüştürür.Her
va_arg
çağrısı, argüman listesinde bir sonraki argümana geçer.va_arg
işleminin ikinci parametresi,va_list
ile tutulan argüman listesinden alınacak argümanın veri türünü belirtir. Yani bu parametre,va_arg
işleminin argümanın hangi türde olduğunu bilmesi için kullanılır.
va_end
:
va_end
işlevi,va_list
ile tutulan argüman listesini işlemenin sonlandığını bildirir.
Last updated