03_io_and_structs_Z Flashcards

1
Q

Was umfasst der Begriff Eingabe/Ausgabe (Input/Output, I/O) in der Informatik?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Was ist der Unterschied zwischen High-Level API und Low-Level API in C?

A

High-Level API ist betriebssystemunabhängig, standardisiert, formatiert und gepuffert, während Low-Level API betriebssystemabhängig und ein unformatierter Byte-Stream ist.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Was versteht man unter einem Handle in der Programmierung?

A

Ein Handle ist ein eindeutiger Referenzwert zu einer vom Betriebssystem verwalteten Systemressource, wie z.B. Dateien oder Bildschirmobjekte.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Was ist ein Stream in der Programmierung und welche Arten von Streams gibt es?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Was sind die Standard-Streams in C und wofür werden sie verwendet?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Was ist der Unterschied zwischen zeichenweise und blockweise Operationen in C?

A

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).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Was bedeutet formatierte und unformatierte Ein- und Ausgabe in C?

A

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).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Wie öffnet man eine Datei in C und was muss dabei angegeben werden?

A

Eine Datei wird in C mit der Funktion fopen geöffnet, wobei der Zugriffsmodus (Lesen, Schreiben oder beides) angegeben werden muss.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Was ist eine positionierbare Datei in C und wie wird die Position verändert?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Was sind Strukturen in C und warum werden sie verwendet?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Wie deklariert und verwendet man eine Struktur in C?

A

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";
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Wie verwendet man Pointer auf Strukturen in C?

A

Pointer auf Strukturen werden wie folgt verwendet:

c struct Dog* mypointer = &mydog; mypointer->name = "Wuffi";
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Was sind anonyme Strukturen und wie werden sie verwendet?

A

Anonyme Strukturen sind Strukturen ohne Namen. Sie werden wie folgt verwendet:

c struct { int member1; } variablenname1;
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Was sind verschachtelte Strukturen in C?

A

Verschachtelte Strukturen sind Strukturen, die andere Strukturen als Member enthalten. Beispiel:

c struct typname { struct { int member1; } member1; int member2; };
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Was sind Unions in C und wofür werden sie verwendet?

A

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; };
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Was ist typedef in C und wofür wird es verwendet?

A

typedef erlaubt die Definition von Aliasnamen für Datentypen, um die Lesbarkeit und Wartbarkeit des Codes zu verbessern. Beispiel:

c typedef struct { int member1; float member2; } mystruct_t;