Void-функция как параметр

Лямбда-выражения

void checkAndProcess(int number, void (*process)(int)) {
    if (number < 10) {
        process(number * 10);
    }
}

void printNumber(int number) {
    printf("%d\n", number);
}

checkAndProcess(5, printNumber);
//prints 50