Es ist möglich, einen Zeiger als Rückgabewert einer Funktion zu deklarieren, so wie das bei vielen Funktionen der Standard-Bibliothek gemacht wird. Aber irgendwie verstehe ich diese Thematik irgendwie trotzdem nicht. Ich habe auch im Wiki nachgeschaut und dabei nicht gefunden.

Die Funktion selbst kann werte zurückgeben wie in diesem Beispiel:
Code: Alles auswählen
void rechne( int z1, int z2, int* erg1, int* erg2 );
int main( void )
{
int zahl1 = 4;
int zahl2 = 8;
int ergebnis1;
int ergebnis2;
rechne( zahl1, zahl2, &ergebnis1, &ergebnis2 );
return 0;
}
void rechne( int z1, int z2, int* erg1, int* erg2 )
{
*erg1 = z1 + z2;
*erg2 = z1 - z2;
}
Hier ein Beispiel:
Code: Alles auswählen
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX 255
char *eingabe(char *str) {
char input[MAX];
printf("Bitte \"%s\" eingeben: ",str);
fgets(input, MAX, stdin);
return strtok(input, "\n");
}
int main(void) {
char *ptr;
ptr = eingabe("Vorname");
printf("Hallo %s\n", ptr);
ptr = eingabe("Nachname");
printf("%s, interssanter Nachname\n", ptr);
return EXIT_SUCCESS;
}