03_io_and_structs_Z Flashcards
Was umfasst der Begriff Eingabe/Ausgabe (Input/Output, I/O) in der Informatik?
Eingabe/Ausgabe (Input/Output, I/O) umfasst alle Prozesse zur Kommunikation mit der Außenwelt, wie z.B. Eingabe von Daten über die Kommandozeile oder grafische Benutzeroberflächen und Ausgabe von Daten auf dem Bildschirm sowie Dateizugriffe.
Was ist der Unterschied zwischen High-Level API und Low-Level API in C?
High-Level API ist betriebssystemunabhängig, standardisiert, formatiert und gepuffert, während Low-Level API betriebssystemabhängig und ein unformatierter Byte-Stream ist.
Was versteht man unter einem Handle in der Programmierung?
Ein Handle ist ein eindeutiger Referenzwert zu einer vom Betriebssystem verwalteten Systemressource, wie z.B. Dateien oder Bildschirmobjekte.
Was ist ein Stream in der Programmierung und welche Arten von Streams gibt es?
Ein Stream ist ein kontinuierlicher Fluss von Datensätzen, der entweder gelesen (Eingabestream) oder geschrieben (Ausgabestream) wird. Es gibt positionierbare Streams, die manuelles Ändern der Lese-/Schreibposition erlauben, und nicht positionierbare Streams, bei denen dies nicht möglich ist.
Was sind die Standard-Streams in C und wofür werden sie verwendet?
Die Standard-Streams in C sind stdin
(Standard-Eingabe), stdout
(Standard-Ausgabe) und stderr
(Standard-Fehlerausgabe). Sie werden verwendet, um Eingaben zu lesen und Ausgaben bzw. Fehlermeldungen zu schreiben.
Was ist der Unterschied zwischen zeichenweise und blockweise Operationen in C?
Bei zeichenweisen Operationen wird ein Zeichen pro Funktionsaufruf verarbeitet (z.B. fgetc
), während bei blockweisen Operationen ein Block von Zeichen pro Funktionsaufruf verarbeitet wird (z.B. fgets
).
Was bedeutet formatierte und unformatierte Ein- und Ausgabe in C?
Bei unformatierter Ein- und Ausgabe werden Daten unverändert verarbeitet (z.B. fgetc
, fgets
), während bei formatierter Ein- und Ausgabe Daten umgewandelt werden (z.B. fprintf
, fscanf
).
Wie öffnet man eine Datei in C und was muss dabei angegeben werden?
Eine Datei wird in C mit der Funktion fopen
geöffnet, wobei der Zugriffsmodus (Lesen, Schreiben oder beides) angegeben werden muss.
Was ist eine positionierbare Datei in C und wie wird die Position verändert?
Eine positionierbare Datei hat eine Position (in Bytes), die beim Lesen/Schreiben verändert wird. Diese Position kann manuell mit Funktionen wie fseek
verändert werden.
Was sind Strukturen in C und warum werden sie verwendet?
Strukturen sind zusammengesetzte Datentypen, die mehrere Variablen zu einem Datentypen zusammenfassen. Sie werden verwendet, um mehrere Eigenschaften eines Objektes zu verwalten und das Handling von Variablen zu vereinfachen.
Wie deklariert und verwendet man eine Struktur in C?
Eine Struktur wird in C wie folgt deklariert:
c struct Dog { char* name; int age; int size; char* fur_color; };Zugriff auf die Struktur erfolgt wie folgt:
c struct Dog mydog; mydog.name = "Wuffi";
Wie verwendet man Pointer auf Strukturen in C?
Pointer auf Strukturen werden wie folgt verwendet:
c struct Dog* mypointer = &mydog; mypointer->name = "Wuffi";
Was sind anonyme Strukturen und wie werden sie verwendet?
Anonyme Strukturen sind Strukturen ohne Namen. Sie werden wie folgt verwendet:
c struct { int member1; } variablenname1;
Was sind verschachtelte Strukturen in C?
Verschachtelte Strukturen sind Strukturen, die andere Strukturen als Member enthalten. Beispiel:
c struct typname { struct { int member1; } member1; int member2; };
Was sind Unions in C und wofür werden sie verwendet?
Unions sind Strukturen, bei denen alle Member denselben Speicherbereich nutzen. Sie ermöglichen die unterschiedliche Interpretation desselben Speicherbereichs. Beispiel:
c union typname { int member1; float member2; };