diff --git a/20201119/arrays-1.c b/20201119/arrays-1.c
new file mode 100644
index 0000000000000000000000000000000000000000..35cf856c63942234116544ac721ff0a47d797b09
--- /dev/null
+++ b/20201119/arrays-1.c
@@ -0,0 +1,10 @@
+#include <stdio.h>
+
+int main (void)
+{
+  int prime[5] = { 2, 3, 5, 7, 11 };
+  int *p = prime;
+  for (int i = 0; i < 5; i++)
+    printf ("%d\n", *(p + i));
+  return 0;
+}
diff --git a/20201119/arrays-10.c b/20201119/arrays-10.c
new file mode 100644
index 0000000000000000000000000000000000000000..bafaa0e2a558352ff8f8784b5a933870674265b2
--- /dev/null
+++ b/20201119/arrays-10.c
@@ -0,0 +1,9 @@
+#include <stdio.h>
+
+int main (void)
+{
+  int prime[];
+  for (int *p = prime; *p; p++)
+    printf ("%d\n", *p);
+  return 0;
+}
diff --git a/20201119/arrays-11.c b/20201119/arrays-11.c
new file mode 100644
index 0000000000000000000000000000000000000000..df8992bc15e0a9d675d5c58fde39571cf4051043
--- /dev/null
+++ b/20201119/arrays-11.c
@@ -0,0 +1,13 @@
+#include <stdio.h>
+
+int main (void)
+{
+  int prime[] = { 2, 3, 5, 7, 11, 0 };
+  for (int *p = prime; *p; p++)
+    printf ("%d\n", *p);
+  prime[5] = 13;              /* Dies funktioniert zwar im Moment, ist aber falsch! */
+                              /* Wir schreiben über das Array hinaus. Dies kann zu einem */
+  for (int *p = prime; *p; p++)                                    /* Absturz führen. */
+    printf ("%d\n", *p);
+  return 0;
+}
diff --git a/20201119/arrays-12.c b/20201119/arrays-12.c
new file mode 100644
index 0000000000000000000000000000000000000000..21cf467acd52bf44e9619a44373fbb31a54b3b6e
--- /dev/null
+++ b/20201119/arrays-12.c
@@ -0,0 +1,9 @@
+#include <stdio.h>
+
+int main (void)
+{
+  int prime[] = { };
+  for (int *p = prime; *p; p++)
+    printf ("%d\n", *p);
+  return 0;
+}
diff --git a/20201119/arrays-13.c b/20201119/arrays-13.c
new file mode 100644
index 0000000000000000000000000000000000000000..f27e0c15ff89ff1bf1cf4a2e0bc55f1d775f4f59
--- /dev/null
+++ b/20201119/arrays-13.c
@@ -0,0 +1,9 @@
+#include <stdio.h>
+
+int main (void)
+{
+  int prime[] = { 0 };
+  for (int *p = prime; *p; p++)
+    printf ("%d\n", *p);
+  return 0;
+}
diff --git a/20201119/arrays-2.c b/20201119/arrays-2.c
new file mode 100644
index 0000000000000000000000000000000000000000..d206e6c3296fe7f7e48febd10893a5be65fca67a
--- /dev/null
+++ b/20201119/arrays-2.c
@@ -0,0 +1,10 @@
+#include <stdio.h>
+
+int main (void)
+{
+  int prime[5] = { 2, 3, 5, 7, 11 };
+  int *p = prime;
+  for (int i = 0; i < 5; i++)
+    printf ("%d\n", p[i]);
+  return 0;
+}
diff --git a/20201119/arrays-3.c b/20201119/arrays-3.c
new file mode 100644
index 0000000000000000000000000000000000000000..388b8bcc0dc426cc3aaee3769fc5ac577bfa441c
--- /dev/null
+++ b/20201119/arrays-3.c
@@ -0,0 +1,11 @@
+#include <stdio.h>
+
+int main (void)
+{
+  int prime[5] = { 2, 3, 5, 7, 11 };
+  int *p;
+  p = prime;
+  for (int i = 0; i < 5; i++)
+    printf ("%d\n", p[i]);
+  return 0;
+}
diff --git a/20201119/arrays-4-O0.s b/20201119/arrays-4-O0.s
new file mode 100644
index 0000000000000000000000000000000000000000..ebca8d83fa17c0087d4f4a1e853e32b8e848594a
--- /dev/null
+++ b/20201119/arrays-4-O0.s
@@ -0,0 +1,45 @@
+	.file	"arrays-4.c"
+	.text
+	.section	.rodata
+.LC0:
+	.string	"%d\n"
+	.text
+	.globl	main
+	.type	main, @function
+main:
+.LFB0:
+	.cfi_startproc
+	pushq	%rbp
+	.cfi_def_cfa_offset 16
+	.cfi_offset 6, -16
+	movq	%rsp, %rbp
+	.cfi_def_cfa_register 6
+	subq	$32, %rsp
+	movl	$2, -32(%rbp)
+	movl	$3, -28(%rbp)
+	movl	$5, -24(%rbp)
+	movl	$7, -20(%rbp)
+	movl	$11, -16(%rbp)
+	movl	$0, -4(%rbp)
+	jmp	.L2
+.L3:
+	movl	-4(%rbp), %eax
+	cltq
+	movl	-32(%rbp,%rax,4), %eax
+	movl	%eax, %esi
+	leaq	.LC0(%rip), %rdi
+	movl	$0, %eax
+	call	printf@PLT
+	addl	$1, -4(%rbp)
+.L2:
+	cmpl	$4, -4(%rbp)
+	jle	.L3
+	movl	$0, %eax
+	leave
+	.cfi_def_cfa 7, 8
+	ret
+	.cfi_endproc
+.LFE0:
+	.size	main, .-main
+	.ident	"GCC: (Debian 8.3.0-6) 8.3.0"
+	.section	.note.GNU-stack,"",@progbits
diff --git a/20201119/arrays-4-m32.s b/20201119/arrays-4-m32.s
new file mode 100644
index 0000000000000000000000000000000000000000..c7bcb148f2f18c3418ab976bc4f7111beb397331
--- /dev/null
+++ b/20201119/arrays-4-m32.s
@@ -0,0 +1,79 @@
+	.file	"arrays-4.c"
+	.text
+	.section	.rodata.str1.1,"aMS",@progbits,1
+.LC0:
+	.string	"%d\n"
+	.text
+	.globl	main
+	.type	main, @function
+main:
+.LFB11:
+	.cfi_startproc
+	leal	4(%esp), %ecx
+	.cfi_def_cfa 1, 0
+	andl	$-16, %esp
+	pushl	-4(%ecx)
+	pushl	%ebp
+	.cfi_escape 0x10,0x5,0x2,0x75,0
+	movl	%esp, %ebp
+	pushl	%edi
+	pushl	%esi
+	pushl	%ebx
+	pushl	%ecx
+	.cfi_escape 0xf,0x3,0x75,0x70,0x6
+	.cfi_escape 0x10,0x7,0x2,0x75,0x7c
+	.cfi_escape 0x10,0x6,0x2,0x75,0x78
+	.cfi_escape 0x10,0x3,0x2,0x75,0x74
+	subl	$56, %esp
+	call	__x86.get_pc_thunk.bx
+	addl	$_GLOBAL_OFFSET_TABLE_, %ebx
+	movl	$2, -44(%ebp)
+	movl	$3, -40(%ebp)
+	movl	$5, -36(%ebp)
+	movl	$7, -32(%ebp)
+	movl	$11, -28(%ebp)
+	leal	-44(%ebp), %esi
+	leal	-24(%ebp), %eax
+	movl	%eax, -60(%ebp)
+	leal	.LC0@GOTOFF(%ebx), %edi
+.L2:
+	subl	$8, %esp
+	pushl	(%esi)
+	pushl	%edi
+	call	printf@PLT
+	addl	$4, %esi
+	addl	$16, %esp
+	cmpl	-60(%ebp), %esi
+	jne	.L2
+	movl	$0, %eax
+	leal	-16(%ebp), %esp
+	popl	%ecx
+	.cfi_restore 1
+	.cfi_def_cfa 1, 0
+	popl	%ebx
+	.cfi_restore 3
+	popl	%esi
+	.cfi_restore 6
+	popl	%edi
+	.cfi_restore 7
+	popl	%ebp
+	.cfi_restore 5
+	leal	-4(%ecx), %esp
+	.cfi_def_cfa 4, 4
+	ret
+	.cfi_endproc
+.LFE11:
+	.size	main, .-main
+	.section	.text.__x86.get_pc_thunk.bx,"axG",@progbits,__x86.get_pc_thunk.bx,comdat
+	.globl	__x86.get_pc_thunk.bx
+	.hidden	__x86.get_pc_thunk.bx
+	.type	__x86.get_pc_thunk.bx, @function
+__x86.get_pc_thunk.bx:
+.LFB12:
+	.cfi_startproc
+	movl	(%esp), %ebx
+	ret
+	.cfi_endproc
+.LFE12:
+	.ident	"GCC: (Debian 8.3.0-6) 8.3.0"
+	.section	.note.GNU-stack,"",@progbits
diff --git a/20201119/arrays-4.c b/20201119/arrays-4.c
new file mode 100644
index 0000000000000000000000000000000000000000..83a03a4fe9425d684db38f0219cd9e9e19b405ba
--- /dev/null
+++ b/20201119/arrays-4.c
@@ -0,0 +1,9 @@
+#include <stdio.h>
+
+int main (void)
+{
+  int prime[5] = { 2, 3, 5, 7, 11 };
+  for (int i = 0; i < 5; i++)
+    printf ("%d\n", prime[i]);
+  return 0;
+}
diff --git a/20201119/arrays-4.s b/20201119/arrays-4.s
new file mode 100644
index 0000000000000000000000000000000000000000..7e82bcaa41df38434faa6619221913a632de15fe
--- /dev/null
+++ b/20201119/arrays-4.s
@@ -0,0 +1,53 @@
+	.file	"arrays-4.c"
+	.text
+	.section	.rodata.str1.1,"aMS",@progbits,1
+.LC0:
+	.string	"%d\n"
+	.text
+	.globl	main
+	.type	main, @function
+main:
+.LFB11:
+	.cfi_startproc
+	pushq	%r12
+	.cfi_def_cfa_offset 16
+	.cfi_offset 12, -16
+	pushq	%rbp
+	.cfi_def_cfa_offset 24
+	.cfi_offset 6, -24
+	pushq	%rbx
+	.cfi_def_cfa_offset 32
+	.cfi_offset 3, -32
+	subq	$32, %rsp
+	.cfi_def_cfa_offset 64
+	movl	$2, (%rsp)                   # #include <stdio.h>
+	movl	$3, 4(%rsp)                  # 
+	movl	$5, 8(%rsp)                  # int main (void)
+	movl	$7, 12(%rsp)                 # {
+	movl	$11, 16(%rsp)                #   int prime[5] = { 2, 3, 5, 7, 11 };
+	movq	%rsp, %rbx                   #   for (int i = 0; i < 5; i++)
+	leaq	20(%rbx), %r12               #     printf ("%d\n", prime[i]);
+	leaq	.LC0(%rip), %rbp             #   return 0;
+.L2:                                         # }
+	movl	(%rbx), %esi
+	movq	%rbp, %rdi
+	movl	$0, %eax
+	call	printf@PLT
+	addq	$4, %rbx
+	cmpq	%r12, %rbx
+	jne	.L2
+	movl	$0, %eax
+	addq	$32, %rsp
+	.cfi_def_cfa_offset 32
+	popq	%rbx
+	.cfi_def_cfa_offset 24
+	popq	%rbp
+	.cfi_def_cfa_offset 16
+	popq	%r12
+	.cfi_def_cfa_offset 8
+	ret
+	.cfi_endproc
+.LFE11:
+	.size	main, .-main
+	.ident	"GCC: (Debian 8.3.0-6) 8.3.0"
+	.section	.note.GNU-stack,"",@progbits
diff --git a/20201119/arrays-5.c b/20201119/arrays-5.c
new file mode 100644
index 0000000000000000000000000000000000000000..2015ffc6cd5057daaa755294ab4af602559eefa4
--- /dev/null
+++ b/20201119/arrays-5.c
@@ -0,0 +1,9 @@
+#include <stdio.h>
+
+int main (void)
+{
+  int prime[5] = { 2, 3, 5, 7, 11 };
+  for (int *p = prime; p < prime + 5; p++)
+    printf ("%d\n", *p);
+  return 0;
+}
diff --git a/20201119/arrays-5.s b/20201119/arrays-5.s
new file mode 100644
index 0000000000000000000000000000000000000000..3a7c4d5dfeaed0ea17968f93767c3ec23693dda2
--- /dev/null
+++ b/20201119/arrays-5.s
@@ -0,0 +1,47 @@
+	.file	"arrays-5.c"
+	.text
+	.section	.rodata.str1.1,"aMS",@progbits,1
+.LC0:
+	.string	"%d\n"
+	.text
+	.globl	main
+	.type	main, @function
+main:
+.LFB11:
+	.cfi_startproc
+	pushq	%rbp
+	.cfi_def_cfa_offset 16
+	.cfi_offset 6, -16
+	pushq	%rbx
+	.cfi_def_cfa_offset 24
+	.cfi_offset 3, -24
+	subq	$40, %rsp
+	.cfi_def_cfa_offset 64
+	movl	$2, (%rsp)                       # #include <stdio.h>
+	movl	$3, 4(%rsp)                      # 
+	movl	$5, 8(%rsp)                      # int main (void)
+	movl	$7, 12(%rsp)                     # {
+	movl	$11, 16(%rsp)                    #   int prime[5] = { 2, 3, 5, 7, 11 };
+	movq	%rsp, %rbx                       #   for (int *p = prime; p < prime + 5; p++)
+	leaq	20(%rsp), %rbp                   #     printf ("%d\n", *p);
+.L2:                                             #   return 0;
+	movl	(%rbx), %esi                     # }
+	leaq	.LC0(%rip), %rdi
+	movl	$0, %eax
+	call	printf@PLT
+	addq	$4, %rbx
+	cmpq	%rbp, %rbx
+	jne	.L2
+	movl	$0, %eax
+	addq	$40, %rsp
+	.cfi_def_cfa_offset 24
+	popq	%rbx
+	.cfi_def_cfa_offset 16
+	popq	%rbp
+	.cfi_def_cfa_offset 8
+	ret
+	.cfi_endproc
+.LFE11:
+	.size	main, .-main
+	.ident	"GCC: (Debian 8.3.0-6) 8.3.0"
+	.section	.note.GNU-stack,"",@progbits
diff --git a/20201119/arrays-6.c b/20201119/arrays-6.c
new file mode 100644
index 0000000000000000000000000000000000000000..28a88d55b97ae96e3a4e9a4a467ba89e57719dba
--- /dev/null
+++ b/20201119/arrays-6.c
@@ -0,0 +1,9 @@
+#include <stdio.h>
+
+int main (void)
+{
+  int prime[6] = { 2, 3, 5, 7, 11, 0 };
+  for (int *p = prime; *p != 0; p++)
+    printf ("%d\n", *p);
+  return 0;
+}
diff --git a/20201119/arrays-7.c b/20201119/arrays-7.c
new file mode 100644
index 0000000000000000000000000000000000000000..dcf32170d4658f2eafdf436809e9a9aa0e56379b
--- /dev/null
+++ b/20201119/arrays-7.c
@@ -0,0 +1,9 @@
+#include <stdio.h>
+
+int main (void)
+{
+  int prime[6] = { 2, 3, 5, 7, 11, 0 };
+  for (int *p = prime; *p; p++)
+    printf ("%d\n", *p);
+  return 0;
+}
diff --git a/20201119/arrays-8.c b/20201119/arrays-8.c
new file mode 100644
index 0000000000000000000000000000000000000000..6e19ec4ef5e5b81e940168a4a4e6b3026a4f4375
--- /dev/null
+++ b/20201119/arrays-8.c
@@ -0,0 +1,9 @@
+#include <stdio.h>
+
+int main (void)
+{
+  int prime[] = { 2, 3, 5, 7, 11, 0 };
+  for (int *p = prime; *p; p++)
+    printf ("%d\n", *p);
+  return 0;
+}
diff --git a/20201119/arrays-9.c b/20201119/arrays-9.c
new file mode 100644
index 0000000000000000000000000000000000000000..37209f1e1bf1f979d0a8102afbaf52808c3501cd
--- /dev/null
+++ b/20201119/arrays-9.c
@@ -0,0 +1,13 @@
+#include <stdio.h>
+
+int main (void)
+{
+  int prime[] = { 2, 3, 5, 7, 11, 0 };
+  for (int *p = prime; *p; p++)
+    printf ("%d\n", *p);
+  prime[5] = 13;              /* Dies funktioniert zwar im Moment, ist aber falsch! */
+  prime[6] = 0;               /* Wir schreiben über das Array hinaus. Dies kann zu einem */
+  for (int *p = prime; *p; p++)                                    /* Absturz führen. */
+    printf ("%d\n", *p);
+  return 0;
+}
diff --git a/20201119/break-1.c b/20201119/break-1.c
new file mode 100644
index 0000000000000000000000000000000000000000..f3ee1a8199e63ce57a7624796af5e9f91917b614
--- /dev/null
+++ b/20201119/break-1.c
@@ -0,0 +1,16 @@
+#include <stdio.h>
+
+int main (void)
+{
+  int a = 0;
+  int b = 1;
+  printf ("%d\n", b);
+  for (int i = 0; i < 10; i++)
+    {
+      int c = a + b;
+      a = b;
+      b = c;
+      printf ("%d\n", b);
+    }
+  return 0;
+}
diff --git a/20201119/break-2.c b/20201119/break-2.c
new file mode 100644
index 0000000000000000000000000000000000000000..061092d844651f831ceeee60efc0f2d1d3b84698
--- /dev/null
+++ b/20201119/break-2.c
@@ -0,0 +1,23 @@
+#include <stdio.h>
+
+/* Aufgabe: Finde die erste Fibonacci-Zahl, die größer ist als 10. */
+
+int main (void)
+{
+  int a = 0;
+  int b = 1;
+  while (1)
+    {
+      int c = a + b;
+      a = b;
+      b = c;
+      if (b > 10)
+        {
+          printf ("Die erste Fibonacci-Zahl, die größer ist als 10, lautet: %d\n", b);
+          /* Dieses printf() erfolgt von der Logik her nach der Schleife,
+             es steht aber im Quelltext _innerhalb_ der Schleife. */
+          break;
+        }
+    }
+  return 0;
+}
diff --git a/20201119/break-3.c b/20201119/break-3.c
new file mode 100644
index 0000000000000000000000000000000000000000..676b6bc8506264873acb441a6b44e1632c22a257
--- /dev/null
+++ b/20201119/break-3.c
@@ -0,0 +1,17 @@
+#include <stdio.h>
+
+/* Aufgabe: Finde die erste Fibonacci-Zahl, die größer ist als 10. */
+
+int main (void)
+{
+  int a = 0;
+  int b = 1;
+  while (b <= 10)
+    {
+      int c = a + b;
+      a = b;
+      b = c;
+    }
+  printf ("Die erste Fibonacci-Zahl, die größer ist als 10, lautet: %d\n", b);  /* nach der Schleife */
+  return 0;
+}
diff --git a/20201119/init-1.c b/20201119/init-1.c
new file mode 100644
index 0000000000000000000000000000000000000000..9a05531f9820ada5bb72c00f2443bd6f3b2e5245
--- /dev/null
+++ b/20201119/init-1.c
@@ -0,0 +1,8 @@
+#include <stdio.h>
+
+int main (void)
+{
+  int a, b = 3, 3;
+  printf ("a = %d, b = %d\n", a, b);
+  return 0;
+}
diff --git a/20201119/init-2.c b/20201119/init-2.c
new file mode 100644
index 0000000000000000000000000000000000000000..e62490d5aa8cad477fa1ed5dc3a2a4b618536ed3
--- /dev/null
+++ b/20201119/init-2.c
@@ -0,0 +1,8 @@
+#include <stdio.h>
+
+int main (void)
+{
+  int a, b = (3, 3);
+  printf ("a = %d, b = %d\n", a, b);
+  return 0;
+}
diff --git a/20201119/init-3.c b/20201119/init-3.c
new file mode 100644
index 0000000000000000000000000000000000000000..049bc7d94b12216cb5088b38345a24a9f80a201c
--- /dev/null
+++ b/20201119/init-3.c
@@ -0,0 +1,9 @@
+#include <stdio.h>
+
+int main (void)
+{
+  int a, b = (3, 3);  /* Komma-Operator: ignoriere die erste 3, nimm die zweite */
+  /* a ist eine lokale Variable und daher uninitialisiert */
+  printf ("a = %d, b = %d\n", a, b);
+  return 0;
+}
diff --git a/20201119/pointers-1.c b/20201119/pointers-1.c
new file mode 100644
index 0000000000000000000000000000000000000000..3bd2e86c08fbe05eb8eb9b42d886e30f8f0be286
--- /dev/null
+++ b/20201119/pointers-1.c
@@ -0,0 +1,14 @@
+#include <stdio.h>
+
+void calc_answer (int *a)
+{
+  *a = 42;
+}
+
+int main (void)
+{
+  int answer;
+  calc_answer (&answer);
+  printf ("The answer is %d.\n", answer);
+  return 0;
+}
diff --git a/20201119/pointers-10.c b/20201119/pointers-10.c
new file mode 100644
index 0000000000000000000000000000000000000000..87c15939a621158c9bf85349235d11eeba76a577
--- /dev/null
+++ b/20201119/pointers-10.c
@@ -0,0 +1,14 @@
+#include <stdio.h>
+
+int calc_answer (void)
+{
+  return 42;
+}
+
+int main (void)
+{
+  int answer = 137;
+  answer = calc_answer ();
+  printf ("The answer is %d.\n", answer);
+  return 0;
+}
diff --git a/20201119/pointers-11.c b/20201119/pointers-11.c
new file mode 100644
index 0000000000000000000000000000000000000000..09beb47172938d4a259e5652571d2c30f94fef19
--- /dev/null
+++ b/20201119/pointers-11.c
@@ -0,0 +1,16 @@
+#include <stdio.h>
+
+void calc_answer (int a)
+{
+  a = 42;
+  printf ("&a = %x\n", &a);
+}
+
+int main (void)
+{
+  int answer = 137;
+  printf ("&answer = %x\n", &answer);
+  calc_answer (answer);
+  printf ("The answer is %d.\n", answer);
+  return 0;
+}
diff --git a/20201119/pointers-12.c b/20201119/pointers-12.c
new file mode 100644
index 0000000000000000000000000000000000000000..e75810bc7fa0a7e1553fa35362951d223be2e0b4
--- /dev/null
+++ b/20201119/pointers-12.c
@@ -0,0 +1,17 @@
+#include <stdio.h>
+
+void calc_answer (int *a)
+{
+  *a = 42;
+  printf ("a = %x\n", a);
+  printf ("&a = %x\n", &a);
+}
+
+int main (void)
+{
+  int answer = 137;
+  printf ("&answer = %x\n", &answer);
+  calc_answer (&answer);
+  printf ("The answer is %d.\n", answer);
+  return 0;
+}
diff --git a/20201119/pointers-2.c b/20201119/pointers-2.c
new file mode 100644
index 0000000000000000000000000000000000000000..7867933ea67073e239e5b307d2c219639442be77
--- /dev/null
+++ b/20201119/pointers-2.c
@@ -0,0 +1,14 @@
+#include <stdio.h>
+
+void calc_answer (int *a)
+{
+  *a = 42;
+}
+
+int main (void)
+{
+  int answer;
+  calc_answer (answer);
+  printf ("The answer is %d.\n", answer);
+  return 0;
+}
diff --git a/20201119/pointers-3.c b/20201119/pointers-3.c
new file mode 100644
index 0000000000000000000000000000000000000000..69b7182f7df3725e3ecfb4a10d8376eeff43ad4c
--- /dev/null
+++ b/20201119/pointers-3.c
@@ -0,0 +1,16 @@
+#include <stdio.h>
+
+void calc_answer (int *a)
+{
+  *a = 42;
+  printf ("*a = %d\n", *a);
+  printf ("a = %d\n", a);
+}
+
+int main (void)
+{
+  int answer;
+  calc_answer (&answer);
+  printf ("The answer is %d.\n", answer);
+  return 0;
+}
diff --git a/20201119/pointers-4.c b/20201119/pointers-4.c
new file mode 100644
index 0000000000000000000000000000000000000000..ab9f4575402b2bde8d1e9b8fd048a57a71eb1586
--- /dev/null
+++ b/20201119/pointers-4.c
@@ -0,0 +1,16 @@
+#include <stdio.h>
+
+void calc_answer (int *a)
+{
+  *a = 42;
+  printf ("*a = %d\n", *a);
+  printf ("a = %x\n", a);
+}
+
+int main (void)
+{
+  int answer;
+  calc_answer (&answer);
+  printf ("The answer is %d.\n", answer);
+  return 0;
+}
diff --git a/20201119/pointers-5.c b/20201119/pointers-5.c
new file mode 100644
index 0000000000000000000000000000000000000000..f437cf432137bbf3298d038c635b74df6be0d04e
--- /dev/null
+++ b/20201119/pointers-5.c
@@ -0,0 +1,16 @@
+#include <stdio.h>
+
+void calc_answer (int *a)
+{
+  *a = 42;
+  printf ("*a = %d\n", *a);
+  printf ("a = %d\n", a);
+}
+
+int main (void)
+{
+  int answer;
+  calc_answer (answer);
+  printf ("The answer is %d.\n", answer);
+  return 0;
+}
diff --git a/20201119/pointers-6.c b/20201119/pointers-6.c
new file mode 100644
index 0000000000000000000000000000000000000000..8710b87defa6afd78ca08faf1a9b26c3e7c76969
--- /dev/null
+++ b/20201119/pointers-6.c
@@ -0,0 +1,16 @@
+#include <stdio.h>
+
+void calc_answer (int *a)
+{
+  printf ("a = %d\n", a);
+  *a = 42;
+  printf ("*a = %d\n", *a);
+}
+
+int main (void)
+{
+  int answer;
+  calc_answer (answer);
+  printf ("The answer is %d.\n", answer);
+  return 0;
+}
diff --git a/20201119/pointers-7.c b/20201119/pointers-7.c
new file mode 100644
index 0000000000000000000000000000000000000000..ea57eee75caf86654957e74b28aff69e6979ab20
--- /dev/null
+++ b/20201119/pointers-7.c
@@ -0,0 +1,16 @@
+#include <stdio.h>
+
+void calc_answer (int *a)
+{
+  printf ("a = %d\n", a);
+  *a = 42;
+  printf ("*a = %d\n", *a);
+}
+
+int main (void)
+{
+  int answer = 137;
+  calc_answer (answer);
+  printf ("The answer is %d.\n", answer);
+  return 0;
+}
diff --git a/20201119/pointers-8.c b/20201119/pointers-8.c
new file mode 100644
index 0000000000000000000000000000000000000000..f253112079f1d85db4c5f823c986a35b545c77a0
--- /dev/null
+++ b/20201119/pointers-8.c
@@ -0,0 +1,14 @@
+#include <stdio.h>
+
+void calc_answer (int a)
+{
+  a = 42;
+}
+
+int main (void)
+{
+  int answer = 137;
+  calc_answer (answer);
+  printf ("The answer is %d.\n", answer);
+  return 0;
+}
diff --git a/20201119/pointers-9.c b/20201119/pointers-9.c
new file mode 100644
index 0000000000000000000000000000000000000000..d347a74482460e2b5635562e99ea848fa0e8af55
--- /dev/null
+++ b/20201119/pointers-9.c
@@ -0,0 +1,14 @@
+#include <stdio.h>
+
+void calc_answer (int a)
+{
+  a = 42;
+}
+
+int main (void)
+{
+  int answer = 137;
+  calc_answer (&answer);
+  printf ("The answer is %d.\n", answer);
+  return 0;
+}
diff --git a/README.md b/README.md
index 84d5380f107638da466355cc891e435a6a7b6daa..851c9f46048117e814004c1a997c7ea196c6c030 100644
--- a/README.md
+++ b/README.md
@@ -19,16 +19,19 @@ Vortragsfolien und Beispiele:
 -----------------------------
  * [05.11.2020: Einführung, Einführung in C (bis Schleifen)](https://gitlab.cvh-server.de/pgerwinski/hp/raw/master/20201105/hp-20201105.pdf) [**(Beispiele)**](https://gitlab.cvh-server.de/pgerwinski/hp/tree/master/20201105/)
  * [12.11.2020: Einführung in C: Seiteneffekte, Funktionen](https://gitlab.cvh-server.de/pgerwinski/hp/raw/master/20201112/hp-20201112.pdf) [**(Beispiele)**](https://gitlab.cvh-server.de/pgerwinski/hp/tree/master/20201112/)
+ * [19.11.2020: Einführung in C: Zeiger, Arrays und Strings](https://gitlab.cvh-server.de/pgerwinski/hp/raw/master/20201119/hp-20201119.pdf) [**(Beispiele)**](https://gitlab.cvh-server.de/pgerwinski/hp/tree/master/20201119/)
  * [alle in 1 Datei](https://gitlab.cvh-server.de/pgerwinski/hp/raw/master/hp-slides-2020ws.pdf)
 
 Übungsaufgaben:
 ---------------
  * [05.11.2020: Hello-World-Programme, Schaltjahr ermitteln, Maximum berechnen](https://gitlab.cvh-server.de/pgerwinski/hp/raw/master/20201105/hp-uebung-20201105.pdf)
  * [12.11.2020: Schaltjahr ermitteln, Multiplikationstabelle, Fibonacci-Zahlen, fehlerhaftes Programm](https://gitlab.cvh-server.de/pgerwinski/hp/raw/master/20201112/hp-uebung-20201112.pdf)
+ * [19.11.2020: Seltsame Programme, Kalender-Berechnung](https://gitlab.cvh-server.de/pgerwinski/hp/raw/master/20201119/hp-uebung-20201119.pdf)
 
 Musterlösungen:
 ---------------
  * [12.11.2020: Schaltjahr ermitteln, Multiplikationstabelle, Fibonacci-Zahlen, fehlerhaftes Programm](https://gitlab.cvh-server.de/pgerwinski/hp/raw/master/20201112/hp-musterloesung-20201112.pdf)
+ * [19.11.2020: Seltsame Programme, Kalender-Berechnung](https://gitlab.cvh-server.de/pgerwinski/hp/raw/master/20201119/hp-musterloesung-20201119.pdf)
 
 Tafelbilder:
 ------------
diff --git a/hp-slides-2020ws.pdf b/hp-slides-2020ws.pdf
deleted file mode 100644
index 0446183220ac077daaed80b2905022940f418d68..0000000000000000000000000000000000000000
Binary files a/hp-slides-2020ws.pdf and /dev/null differ
diff --git a/hp-slides-2020ws.tex b/hp-slides-2020ws.tex
index 5cc6b067194d9f1c8038e3adb8dea0f47901f8aa..781a4eacf61fa66d312d3954599f29464f504a0a 100644
--- a/hp-slides-2020ws.tex
+++ b/hp-slides-2020ws.tex
@@ -14,4 +14,6 @@
   \includepdf[pages=-]{20201105/hp-20201105.pdf}
   \pdfbookmark[1]{12.11.2020: Einführung in C: Seiteneffekte, Funktionen}{20201112}
   \includepdf[pages=-]{20201112/hp-20201112.pdf}
+  \pdfbookmark[1]{19.11.2020: Einführung in C: Zeiger, Arrays und Strings}{20201119}
+  \includepdf[pages=-]{20201119/hp-20201119.pdf}
 \end{document}