Großartig!
Completion Rate verbessert auf 4.35single
Zeiger auf Strukturen
Swipe um das Menü anzuzeigen
Die Programmiersprache C ermöglicht das Erstellen von Zeigern nicht nur auf reguläre Datentypen, sondern auch auf Strukturen (da eine Struktur ein benutzerdefinierter Datentyp ist).
Die Deklaration und Initialisierung eines Zeigers sieht folgendermaßen aus:
struct <name_of_struct>
{
<field_of_struct>;
};
struct <name_of_struct>* <name_of_pointer>;
Wenn <name_of_pointer> ein Zeiger auf eine Struktur ist,
dann ist *(<name_of_pointer>) die Struktur selbst.
Um auf die Felder einer Struktur über einen Zeiger zuzugreifen, muss der Operator -> verwendet werden.
-> ist ein Analogon zum Strukturzugriffsoperator .
main.c
12345678910111213141516171819202122#include <stdio.h> // structure declaration struct Point { int x; int y; }; int main() { // create a structure variable of Point type struct Point p1; p1.x = 10; p1.y = 20; // create a pointer to a structure of type Point and assign it the address of variable p1 struct Point* ptr = &p1; // Access structure members via pointer by `->` operator printf("Coordinates: (%d, %d)\n", ptr->x, ptr->y); return 0; }
Dieses Programm zeigt, wie mit einer Point-Struktur gearbeitet wird, die zwei Koordinaten, x und y, speichert. In der Funktion main wird eine Variable p1 erstellt und mit Koordinatenwerten belegt, anschließend wird ein Zeiger auf diese Struktur initialisiert. Mit dem ->-Operator greift das Programm über den Zeiger auf die Felder der Struktur zu und gibt die Koordinaten des Punktes auf dem Bildschirm aus.
Swipe to start coding
Sie haben eine:n Student:in mit Noten in 3 Fächern: Mathematik, Physik und Programmieren.
Ihre Aufgabe ist es, die Durchschnittsnote der Studentin bzw. des Studenten zu berechnen und festzustellen, ob sie oder er den Kurs bestanden hat.
In der Funktion calculateAverageAndCheck:
- Zugriff auf jede Fachnote über den Zeiger.
- Addieren Sie alle drei Noten, um die Gesamtpunktzahl zu ermitteln.
- Teilen Sie die Gesamtsumme durch
3.0, um die Durchschnittsnote zu berechnen. - Vergleichen Sie das Ergebnis mit dem Bestehensgrenzwert von 60.
- Wenn der Durchschnitt größer oder gleich 60 ist, geben Sie
truezurück (Student:in hat bestanden). - Andernfalls geben Sie
falsezurück (Student:in hat nicht bestanden).
Beispiel
| Math | Physics | Programming | Average | Result |
|---|---|---|---|---|
| 85.0 | 55.0 | 60.0 | 66.67 | ✅ Passed |
| 50.0 | 40.0 | 45.0 | 45.00 | ❌ Failed |
| 60.0 | 60.0 | 60.0 | 60.00 | ✅ Passed |
Lösung
Danke für Ihr Feedback!
single
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen