diff --git a/20230605/array-param-01.c b/20230605/array-param-01.c
new file mode 100644
index 0000000000000000000000000000000000000000..e5a2dc593610b426c5f01c0a0b34cf599a727842
--- /dev/null
+++ b/20230605/array-param-01.c
@@ -0,0 +1,21 @@
+#include <stdio.h>
+
+void read_something (int *a)
+{
+  for (int i = 0; i < 3; i++)
+    {
+      printf ("%d. Zahl: ", i + 1);
+      scanf ("%d", a + i);  /* andere Schreibweise: &a[i] */
+    }
+}
+
+int main (void)
+{
+  int x[3];
+  read_something (x);
+  printf ("Eingegebene Zahlen:");
+  for (int i = 0; i < 3; i++)
+    printf (" %d", x[i]);
+  printf ("\n");
+  return 0;
+}
diff --git a/20230605/array-param-02.c b/20230605/array-param-02.c
new file mode 100644
index 0000000000000000000000000000000000000000..9a83bd130c6d3cde025c982bf97a30a73ea9e908
--- /dev/null
+++ b/20230605/array-param-02.c
@@ -0,0 +1,23 @@
+#include <stdio.h>
+
+#define N 3
+
+void read_something (int *a)
+{
+  for (int i = 0; i < N; i++)
+    {
+      printf ("%d. Zahl: ", i + 1);
+      scanf ("%d", a + i);  /* andere Schreibweise: &a[i] */
+    }
+}
+
+int main (void)
+{
+  int x[N];
+  read_something (x);
+  printf ("Eingegebene Zahlen:");
+  for (int i = 0; i < N; i++)
+    printf (" %d", x[i]);
+  printf ("\n");
+  return 0;
+}
diff --git a/20230605/array-param-03.c b/20230605/array-param-03.c
new file mode 100644
index 0000000000000000000000000000000000000000..b67c6ddb6f5db169a5d10da860430c53296e507c
--- /dev/null
+++ b/20230605/array-param-03.c
@@ -0,0 +1,28 @@
+#include <stdio.h>
+
+#define N_MAX 256
+
+int read_something (int *a)
+{
+  int i = 0;
+  printf ("Zum Beenden: -1 eingeben\n");
+  do
+    {
+      printf ("%d. Zahl: ", i + 1);
+      scanf ("%d", a + i);  /* andere Schreibweise: &a[i] */
+      i++;
+    }
+  while (a[i - 1] >= 0);
+  return i - 1;
+}
+
+int main (void)
+{
+  int x[N_MAX];
+  int numbers_read = read_something (x);
+  printf ("%d eingegebene Zahlen:", numbers_read);
+  for (int i = 0; i < numbers_read; i++)
+    printf (" %d", x[i]);
+  printf ("\n");
+  return 0;
+}
diff --git a/20230605/array-param-04.c b/20230605/array-param-04.c
new file mode 100644
index 0000000000000000000000000000000000000000..b4e9785a97d83dc9691d64bd3e6132b52ee89e44
--- /dev/null
+++ b/20230605/array-param-04.c
@@ -0,0 +1,28 @@
+#include <stdio.h>
+
+#define N_MAX 10
+
+int read_something (int *a)
+{
+  int i = 0;
+  printf ("Zum Beenden: -1 eingeben\n");
+  do
+    {
+      printf ("%d. Zahl: ", i + 1);
+      scanf ("%d", a + i);  /* andere Schreibweise: &a[i] */
+      i++;
+    }
+  while (i < N_MAX && a[i - 1] >= 0);
+  return i - 1;
+}
+
+int main (void)
+{
+  int x[N_MAX];
+  int numbers_read = read_something (x);
+  printf ("%d eingegebene Zahlen:", numbers_read);
+  for (int i = 0; i < numbers_read; i++)
+    printf (" %d", x[i]);
+  printf ("\n");
+  return 0;
+}
diff --git a/20230605/array-param-05.c b/20230605/array-param-05.c
new file mode 100644
index 0000000000000000000000000000000000000000..740faf7c09ea0cb9588b9d6e645d97685240c35f
--- /dev/null
+++ b/20230605/array-param-05.c
@@ -0,0 +1,30 @@
+#include <stdio.h>
+
+#define N_MAX 10
+
+int read_something (int *a)
+{
+  int i = 0;
+  printf ("Zum Beenden: -1 eingeben\n");
+  do
+    {
+      printf ("%d. Zahl: ", i + 1);
+      scanf ("%d", a + i);  /* andere Schreibweise: &a[i] */
+      i++;
+    }
+  while (i < N_MAX && a[i - 1] >= 0);
+  if (a[i - 1] < 0)
+    i--;
+  return i;
+}
+
+int main (void)
+{
+  int x[N_MAX];
+  int numbers_read = read_something (x);
+  printf ("%d eingegebene Zahlen:", numbers_read);
+  for (int i = 0; i < numbers_read; i++)
+    printf (" %d", x[i]);
+  printf ("\n");
+  return 0;
+}
diff --git a/20230605/bs-20230605.txt b/20230605/bs-20230605.txt
new file mode 100644
index 0000000000000000000000000000000000000000..222e54b9b1a95308e8cd73dde5a878a2bb02c3e4
--- /dev/null
+++ b/20230605/bs-20230605.txt
@@ -0,0 +1,16 @@
+vorletzte Woche:
+ - Linux-Kernel: vom Einsprungpunkt der Systemaufrufe
+   bis zum Callback des Treibermoduls
+
+heute:
+ - C-Programmierung: mehrere Bytes zurückgeben
+ - CVH-Camera: Sicherheits-Update
+ - Dateisysteme
+
+C-Programmierung: mehrere Bytes zurückgeben, 05.06.2023, 15:53:45
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+Situation:
+ - Zeigervariable an void-Funktion übergeben
+ - Aufrufer definiert Variable und übergibt sie an die Funktion
+ - Länge nicht fest, aber maximale Länge bekannt
+--> Funktion könnte die benutzte Länge zurückgeben.