Ich spiele etwa mit C. Nur ein paar Fragen, was ist Best Practice und wenn ich etwas falsch mache.Der beste Weg, um Zeiger zwischen den Funktionen zu übergeben
Ich habe ein Programm gemacht, das scheint zu funktionieren:
void main()
{
char *text;
text = malloc(10 * sizeof(char));
dosomethingwithtext(text);
printf("%s\n", text);
}
Jedoch habe ich auch Versionen wie diese gesehen habe: (Ich weiß, es wird nichts gedruckt sinnvoll, weil ich keine Zeichen hinzugefügt haben , aber stell dir vor, ich hätte!)
void main()
{
char *text;
text = dosomething();
printf("%s\n", text);
}
char * dosomething()
{
char *text;
text = malloc(10 * sizeof(char));
return text;
}
Oder wenn einer von diesen nicht optimal ist, was ist der beste Weg. Im Grunde frage ich den häufigsten/besten Weg, dies zu tun.
Art der Meinung basiert, aber ich bin sicher, dass Sie Antworten erhalten werden, die für beide Möglichkeiten einen Fall machen. IMO, beide Wege haben ihre Vorteile je nachdem, wo genannt. In beiden Fällen müssen Sie sich jedoch an die 'free() - Anweisung erinnern. – ryyker
'void main()' ist eine ungültige Signatur für 'main' und veraltete Syntax für jeden Funktionsdeklarator. – Olaf
@Olaf 'veraltete Syntax für jeden Funktionsdeklarator', könnten Sie erweitern? – xvan