diff --git a/20200116/dynmem-2a.c b/20200116/dynmem-2a.c
new file mode 100644
index 0000000000000000000000000000000000000000..8a0bb60241555d1493c0527340bdc335d3fbdc1e
--- /dev/null
+++ b/20200116/dynmem-2a.c
@@ -0,0 +1,23 @@
+#include <stdio.h>
+#include <stdlib.h>
+
+int main (void)
+{
+  char **name = malloc (3 * sizeof (char *));
+  name[0] = "Anton";
+  name[1] = "Berthold";
+  name[2] = "Caesar";
+
+  char **new_name = malloc (4 * sizeof (char*));
+  for (int i = 0; i < 3; i++)
+    new_name[i] = name[i];
+  name = new_name;   /* Speicherleck: Array wurde nicht freigegeben! */
+
+  name[3] = "Dieter";
+
+  for (int i = 0; i < 4; i++)
+    printf ("%s\n", name[i]);
+  free (name);
+  free (new_name);
+  return 0;
+}
diff --git a/20200116/hello-gtk.png b/20200116/hello-gtk.png
deleted file mode 120000
index cca99209d86683a9a3b0f70bbc149780bae10ba6..0000000000000000000000000000000000000000
--- a/20200116/hello-gtk.png
+++ /dev/null
@@ -1 +0,0 @@
-../common/hello-gtk.png
\ No newline at end of file
diff --git a/20200116/hp-20200116.pdf b/20200116/hp-20200116.pdf
index da6d761d3af2e5e06b73867c862801c0a85d22d6..84ce95667edd1658a8f2ec1fc34804d4f0ca70e9 100644
Binary files a/20200116/hp-20200116.pdf and b/20200116/hp-20200116.pdf differ
diff --git a/20200116/hp-20200116.tex b/20200116/hp-20200116.tex
index b0ec7c7d5a3c3b87d8e0b69ef63561ced0896274..f7797183646fd8c6051b65cfdd6ad2eebc138517 100644
--- a/20200116/hp-20200116.tex
+++ b/20200116/hp-20200116.tex
@@ -72,6 +72,7 @@
         \color{red}
         \item[6.3] Unions
         \item[6.4] Virtuelle Methoden
+        \color{black}
         \item[6.5] Beispiel: Graphische Benutzeroberfläche (GUI)
         \item[6.6] Ausblick: C++
       \end{itemize}
@@ -820,6 +821,8 @@
   \end{itemize}
 \end{frame}
 
+\iffalse
+
 \subsection{Beispiel: Graphische Benutzeroberfläche (GUI)}
 
 \begin{frame}[fragile]
@@ -932,4 +935,6 @@
   
 \end{frame}
 
+\fi
+
 \end{document}
diff --git a/20200116/objects-3a.c b/20200116/objects-3a.c
new file mode 100644
index 0000000000000000000000000000000000000000..a285a87d72694f5259a8a736ab448383e7004580
--- /dev/null
+++ b/20200116/objects-3a.c
@@ -0,0 +1,34 @@
+#include <stdio.h>
+
+typedef struct
+{
+  int type;
+} t_base;
+
+typedef struct
+{
+  int type;
+  int content;
+} t_integer;
+
+typedef struct
+{
+  int type;
+  char *content;
+} t_string;
+
+int main (void)
+{
+  t_integer i = { 1, 42 };
+  t_string s = { 2, "Hello, world!" };
+
+  t_base *object[] = { &i, &s };
+
+  for (int i = 0; i < 2; i++)
+    if (object[i]->type == 1)
+      printf ("Integer: %d\n", object[i]->content);
+    else if (object[i]->type == 2)
+      printf ("String: \"%s\"\n", object[i]->content);
+
+  return 0;
+}