Hallo, ich soll eine Video-Datenbank programmieren, habe aber Probleme bei der Übergabe von Structures an void-Funktionen. Ich möchte es mit C schreiben und habe ein kleines Programm geschrieben, was mein Problem übersichtilich darstellt. Ich möchte hierbei ausdrücklich nicht mit Zeigern vorgehen. Wenn mir jemand sagen könnte, wie ich richtig die Werte übergebe und was ich falsch gemacht habe, wäre ich sehr dankbar.
Hallo, wenn du in 'C' programmieren willst, dann solltest du zu erst mal deine Datei umbenennen. Die Endung '.cpp' wird für 'C++' benützt. Nun zur Parameterübergabe. Warum willst du die Variable unbedingt nicht 'by pointer' übergeben. Eine Übergabe 'by value' bedeutet, daß beim Aufruf eine Kopie der kompletten Struktur auf den Stack gelegt werden müsste. Ausserdem arbeitet dann die aufgerufene Funktion tatsächlich nur mit einer Kopie. Deine Funktion 'read' wäre damit sinnlos. In C ohne Pointer programmieren zu wollen ist wie mit der Bohrmaschine einen Nagel in die Wand zu hauen. Einfach das falsche Werkzeug.
> Ich möchte hierbei ausdrücklich nicht mit > Zeigern vorgehen. Dann hast Du schon (fast) verloren. Eine Uebergabe per Zeiger ist nun mal die Art&Weise wie 'call by reference'-Semantik in C implementiert wird. Die andere Alternative solltest Du noch nicht mal ansatzweise in Betracht ziehen: globale Variable - Schuettel.
Probier doch film Read(film a1) oder besser in C++ void Read(film &a1)
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.