Sterk versimpelt voorbeeld:
Ik wil een pointer naar "add" waarvan het 2e argument al vooraf is ingevuld met data uit een variable. Omdat ik niet helemaal weet hoe dit in C zou werken, hierbij een werkend voorbeeld in Javascript:
Ik heb gezocht, maar ik kom voornamelijk op voorbeelden van pointers naar functions; ik wil soort-van "pre-bound variablen" hebben, maar ik weet niet precies hoe ik erop moet zoeken. Is wat ik wil mogelijk in C? Zo ja, hoe?
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| void add(int *a, int b) { (*a) += b; } void manipulate_with_function(int *a, void (*fn)(int *a)) { (*fn)(*a); } int main(int argc, char **argv) { int target_number = 2; int number_to_add = 3; void (*manipulation_function)(int *) = add(..., number_to_add) manipulate_with_function(&i, add); printf("%i\n", i); // => 5 } |
Ik wil een pointer naar "add" waarvan het 2e argument al vooraf is ingevuld met data uit een variable. Omdat ik niet helemaal weet hoe dit in C zou werken, hierbij een werkend voorbeeld in Javascript:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| function add(pointer, b) { pointer.number += b; } function manipulateWithFunction(pointer, fn) { fn(pointer); } function main(pointer) { var targetNumberPointer = { number: 2 }; var numberToAdd = 3; var manipulationFunction = function(pointer) { add(pointer, numberToAdd) } manipulateWithFunction(targetNumberPointer, manipulationFunction); console.log(targetNumberPointer.number); } main(); |
Ik heb gezocht, maar ik kom voornamelijk op voorbeelden van pointers naar functions; ik wil soort-van "pre-bound variablen" hebben, maar ik weet niet precies hoe ik erop moet zoeken. Is wat ik wil mogelijk in C? Zo ja, hoe?
Let op: Mijn post bevat meningen, aannames of onwaarheden