Junior — Middle
İçində başqa bir funksiya olan funksiyadan nümunə götürərək funksiyalara göstəricilərlə işləməyi izah edin.
sobes.tech Süni İntellekt
AI-dan cavab
iOS-da (Swift və ya Objective-C) funksiyalara göstəricilər konsepti bağlamalar (closures) və ya bloklar (blocks) vasitəsilə həyata keçirilir. Objective-C-ə əsaslanan C dilində, funksiyalara göstəricilər funksiyaları parametrlər kimi keçirməyə və ya onları saxlamağa imkan verir.
C-də, içində başqa bir funksiyanı ehtiva edən (daxili funksiya və ya göstərici qaytaran funksiya vasitəsilə) nümunə:
#include <stdio.h>
// C-də daxili funksiyalar mövcud deyil, amma göstərici qaytarmaq olar
int innerFunction(int x) {
return x * x;
}
int (*outerFunction())(int) {
// innerFunction-ə göstərici qaytarır
return &innerFunction;
}
int main() {
int (*funcPtr)(int) = outerFunction();
int result = funcPtr(5); // göstərici vasitəsilə innerFunction çağırışı
printf("Nəticə: %d\n", result); // Nəticə: 25
return 0;
}
Swift-də, closures istifadə oluna bilər:
func outerFunction() -> (Int) -> Int {
func innerFunction(x: Int) -> Int {
return x * x
}
return innerFunction
}
let funcPtr = outerFunction()
print(funcPtr(5)) // 25
Bu şəkildə, funksiyalara göstəricilər dinamik olaraq funksiyaları seçməyə və çağırmağa imkan verir, bu da callback-lər və funksional proqramlaşdırma üçün faydalıdır.