Variable im Bezeichner
-
Hallo.
Kann man in den Bezeichner einer Unterfunktion eine Variable einbauen, sodass man dann z.B. in einer for-Schleife elegant eine bestimmte UF aufrufen kann?
In etwa wie void UnterfunktionXY(...)
-
So wie du das dir vorstellst, ist es wohl nur mit Makrogefrickel möglich. Davon ist aber abzuraten. Du kannst aber einer Funktion einen Zeiger auf eine Funktion als Parameter mitgeben.
int times_two( int x ){ return 2*x; } void transform_array( int *buffer, size_t n, int (*func)(int) ){ for( size_t i=0; i<n; i++){ buffer[i] = func( buffer[i] ); } return; } int main (void){ int numbers[4] = { 1, 2, 3, 4}; transform_array( numbers, 4, times_two ); }
(nicht getestet)