diff --git a/de-de/c-de.html.markdown b/de-de/c-de.html.markdown
index 16f71b00..650a3a94 100644
--- a/de-de/c-de.html.markdown
+++ b/de-de/c-de.html.markdown
@@ -22,7 +22,7 @@ manuellen Speicherverwaltung bewusst sein.
> Standards:
> `-Wall -Wextra -Werror -O2 -std=c99 -pedantic`
>
-> Da gewisse Optionen (inbesondere der C-Standard) sehr stark vom Projekt
+> Da gewisse Optionen (insbesondere der C-Standard) sehr stark vom Projekt
> abhängen, lohnt es sich, wenn die unterschiedlichen Optionen genauer
> angeschaut werden. Eine Übersicht über die Compiler-Optionen findet man unter
> [diesem](https://stackoverflow.com/questions/3375697/useful-gcc-flags-for-c) Stackoverflow-Beitrag.
@@ -69,7 +69,7 @@ int function_2(void);
// Es muss ein Funktionsprototyp deklariert werden vor der `main()` Funktion,
// wenn die Funktion nach der `main()` Funktion gebraucht wird.
int add_two_ints(int x1, int x2); // Funktionsprototyp
-// Auch wenn der Ausdrck `int add_two_ints(int, int)` auch valid wäre,
+// Auch wenn der Ausdruck `int add_two_ints(int, int)` auch valid wäre,
// ist es empfohlen, dass man die Namen der Argumente hinschreibt für eine
// einfachere Analyse.
@@ -437,7 +437,7 @@ int main (int argc, char** argv) {
printf("%d\n", *px); // => 1
printf("%d\n", x); // => 1
- // Arrays sind eine gute Möglichekit, einen zusammenhängenden Block von
+ // Arrays sind eine gute Möglichkeit, einen zusammenhängenden Block von
// Speicher zu allozieren.
int x_array[20]; // deklariert einen Array der Größe 20 (Größe kann
// nicht geändert werden.)
@@ -712,7 +712,7 @@ void str_reverse_through_pointer(char *str_in) {
/*
Solange die Signaturen der Funktionen übereinstimmen, kann man sämtliche Funktionen
-demselben Pointer zuweisen. Funktionspointer sind auf Grund der Einfacheit und
+demselben Pointer zuweisen. Funktionspointer sind auf Grund der Einfachheit und
Leserlichkeit normalerweise wie folgt `typedef`d
*/
typedef void (*my_fnp_type)(char *);
@@ -722,7 +722,7 @@ typedef void (*my_fnp_type)(char *);
// Spezialzeichen
// Im folgenden sin die englischen Begriffe jeweils in Klammern geschrieben,
-// da diese Begriffe auch im deutschten Sprachgebrauch verwendet werden.
+// da diese Begriffe auch im deutschen Sprachgebrauch verwendet werden.
'\a'; // Alarmzeichen (alert (bell) character)
'\n'; // Zeichen für neue Linie (newline character)
'\t'; // Tab (tab character (left justifies text))
@@ -804,7 +804,7 @@ befindet wie die C-Quelldatei.
#ifndef EXAMPLE_H /* Wenn EXAMPLE_H noch nicht definiert wurde */
#define EXAMPLE_H /* definiere das Makro EXAMPLE_H */
-// Es könenn weitere Header innerhalb eines Headers eingebunden werden, was dazu
+// Es können weitere Header innerhalb eines Headers eingebunden werden, was dazu
// führt, dass diese bereits in anderen Dateien eingebunden wurden. So kann eine
// Header-Datei in mehreren Dateien eingebunden werden. zum Beispiel:
#include
@@ -832,7 +832,7 @@ typedef struct Node {
// Dies kann auch mit Aufzählungen gemacht werden.
enum traffic_light_state {GREEN, YELLOW, RED};
-// Funktionsprototypen könenn auch in Header-Dateien definiert werden, um die
+// Funktionsprototypen können auch in Header-Dateien definiert werden, um die
// Funktion in unterschiedlichen Dateien zu verwenden, aber dies wird als schlechte
// Praxis angesehen. Definitionen sollten in einer C-Datei erstellt werden.
Node create_linked_list(int *value, int length);