Zum Inhalt springen

Strukturen Struct


Empfohlene Beiträge

Hallo zusammen,

ich bräuchte mal wieder Hilfe um eine Aufgabe zu verstehen, sodass ich alle weiteren Aufgaben zu diesem Thema lösen kann. Ich verstehe im Grunde was ein struct macht und einigermaßen wofür es da ist. Leider versteh ich nicht die komplette Syntax etc. von diesem Programm und hab deshalb nicht so richtig einen Plan, warum am Ende diese Werte ausgegeben werden.

Wäre super lieb und sehr Hilfreich für mich, wenn. mir das jemand genauer erklären könnte.

 

972586333_Bildschirmfoto2020-07-21um14_31_58.thumb.png.1b5e235d5dde784f257c58425dafbfd5.png

Link zu diesem Kommentar
Auf anderen Seiten teilen

Welche Stellen sind denn zurzeit noch unklar? Wie würdest du Strukturen definieren und wann denkst du, lohnt es sich diese zu verwenden? Sind eigentlich alle Beispiele/Aufgaben in deinem Kurs/Buch(?) in dieser nicht aussagekräftigen Art geschrieben? Ich glaube, mit sinnvollen Beispielen für Strukturen wäre das auch direkt viel klarer. z. B. sowas:

Zitat

struct adresse {
	char name[50];
	char strasse[100];
	short hausnummer;
	long plz;
	char stadt[50];
};

Ich glaube, dass eigentliche Hauptaugenmerk bei der Aufgabe ist die Funktion f die einmal einen direkten Wert als Parameter verlangt und einmal eine Referenz. Ich nenne mal hier die beiden Begriffe Pass by Value und Pass by Reference, wenn du die beiden Konzepte verinnerlicht hast, erklärt sich auch warum der Output bei der Aufgabe 1 und 2 ist und nicht 7 und 2.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Also was in Zeile 12 passiert und warum passiert was passiert ist für mich unklar. Ja bei mir sind alle Aufgaben genau so mit der Beschreibung "Klausurhilfe". Entweder man hat die Aufgaben richtig oder nicht, aber warum die Lösungen zustandekommen ist nirgends beschrieben.

 

Ich habe mir das Video, welches mein Professor zu dem von dir genannten Thema pass by value / pass by references verlinkt hat angeschaut, leider habe ich den englisch sprechenden Inder aber kaum verstanden. Andere Quellen die ich selbst gesucht hatte waren auch eher weniger hilfreich 🙄Aber ich suche weiter 😊

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 3 Minuten schrieb julsos:

Ja bei mir sind alle Aufgaben genau so mit der Beschreibung "Klausurhilfe".

Das ist wirklich schade das hier so wenig Arbeit in die Aufgaben gesteckt wird, besonders wenn es um Grundlagen geht. Aussagekräftige Variablen-/ und Funktionsbezeichnungen in einfachen und sinnvollen Beispielen würden das nachvollziehen um einiges einfach machen. Aber gut da es kein Buch, sondern ein Kurs ist, kann man da nicht viel machen.

In C hast du die Möglichkeit, einen Parameter über zwei unterschiedliche Wege zu übergeben. Hierbei ist es auch unabhängig, ob der Parameter ein einfacher Datentyp ist oder eine Struktur oder etwas anderes ist. Pass By Value ist wohl der gängigste Typ

Zitat

int add(int firstNumber, int secondNumber);

Angenommen ich habe jetzt zwei Variablen zahl1, zahl2, vom Typen int die ich nun übergebe:

Zitat

add(zahl1, zahl2);

Beim Aufruf dieser Methode wird jetzt eine Kopie von zahl1 und zahl2 erstellt, es werden also im Speicher zwei weitere Variablen angelegt, die auch zusätzlichen Speicherplatz benötigen. Die beiden Variablen "firstNumber" und "secondNumber" kann ich jetzt frei innerhalb meiner add Methode überschreiben, ohne das die "originalen" Variablen zahl1 und zahl2 verändert werden.

Der andere Weg ist Pass By Reference hier wird einfach nur ein Verweis an die add Methode übergeben. firstNumber und secondNumber zeigen jetzt also auf die gleiche Adresse wie die von zahl1 und zahl2. Wenn ich jetzt in firstNumber einen anderen Wert zuweise, wird auch gleichzeitig zahl1 verändert.

pass-by-reference-vs-pass-by-value-anima

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...