Titel: Poniter Problem mit Übergabe an Funktionen & malloc
-
Hallo,
ich habe folgendes Problem: Ich möchte einen Pointer an eine Funktion übergeben, der dann per malloc einen neuen Speicherblock zugewiesen bekommen soll. Das Problem ist allerdings,
dass ja nur die Adresse des Poniters an die Funktion übergeben wird, und nicht die Variable selbst. Gibt es bei C(ich kann C noch nicht so lange) eine Möglichkeit, bei den Parametern einer Funktion zu bestimmen, dass die Variable selbst übergeben werden soll. Ich könnte mir ja vorstellen, dass man die Adresse des Pointers(und nicht die Adresse seines Inhaltes) an die Funktion übergeben muss. Ich weiß aber nicht, wie das geht. So wäre der ursprüngliche Code:function getNewSpace(*char space, int byte) { space = malloc(byte); }
Natürlich könnte man das auch ohne Funktion machen, aber das ist ja nur ein Beispiel. Im wirklichen Programm macht die Funktion die Größe des zu holenden Speichers von einer anderen Variable abhängig.
Wer kann mir helfen? thx im Vorraus
-
ein Pointer auf einen Pointer
void foo(char **ptr,size_t n) { *ptr=malloc(n); }