Shadowing-Übung: You are wasting memory - Englisch Sprechen Lernen mit Video

Lektion wird erstellt...
1
Take a look at this C code and tell me what the output of that printf will be.
2
If you said 12, you are correct, and that's because each integer is 4 bytes wide.
3
Now, what happens if I add a character to the structure?
4
You probably already know that a character has a size of 1 byte, but if we run this program, we can see that the structure became 16 bytes.
5
This happens because of memory alignment.
6
You can imagine memory as a row of numbered boxes, where each number represents an address.
7
Each box can hold exactly one byte.
8
We know that on 64-bit machines an integer is usually four bytes.
9
For it to be aligned, its address must be a multiple of its size.
10
If a value is not aligned, on some architectures and older computers, working with it might be slower.
11
But how is the structure represented in memory by the compiler?
12
The structure is represented as a series of consecutive values, each starting at a specific padding from the beginning of of the structure.
13
The padding is needed so that each value is correctly aligned.
14
As you can see here, the value D would occupy only one byte, but three extra bytes are added so that the value C is correctly aligned.
15
If we add another character at the end of the structure, another 3 bytes of padding are added because the whole structure must be aligned to the alignment of the structure itself,
16
which is the maximum alignment between the members of the structure.
17
This way, when creating an array of this structure, the first member is always correctly aligned.
18
So to save memory, we can move our characters close together
19
so that only 2 bytes of padding are added making the whole thing 16 bytes instead of 20, while keeping everything correctly aligned.
20
We can check that in C as well.
21
As you can see, this code represents what was shown in the previous images.
22
Now take a look at the output of this.
23
If we move E, like this, the output changes.
24
Now if you want to ignore alignment and remove padding for some reason, you can use the packed attribute like this on GCC and CLang and the compiler will not insert any padding,
25
as you can see here from this output, but note that on some architectures this might make the code slower.
26
So in conclusion, if you don't wanna waste memory over padding, remember to place your structural members correctly.
27
Bye!

Kontext & Hintergrund

In diesem Video wird das Thema Speichermanagement in der Programmiersprache C behandelt, wobei insbesondere auf die Bedeutung der korrekten Ausrichtung von Daten und Strukturen eingegangen wird. Der Referent erklärt, wie die Größe von Daten in der Speicherarchitektur beeinflusst wird und warum es wichtig ist, die Mitglieder einer Struktur sorgfältig anzuordnen, um Speicherplatz zu sparen. Dies bietet interessante Einblicke in technische Aspekte, die für Programmierer relevant sind, und hilft gleichzeitig, die englische Fachsprache zu verstehen.

Top 5 Phrasen für die tägliche Kommunikation

  • "Wie viel Speicher wird benötigt?" – Eine grundlegende Frage in der Softwareentwicklung.
  • "Jedes Element hat eine spezifische Größe." – Diese Aussage ist wichtig, um das Verständnis von Datentypen zu fördern.
  • "Ausrichtung ist entscheidend für die Leistung." – Ein wichtiger Hinweis für Programmierer, um Effizienz zu gewährleisten.
  • "Padding kann Speicher verschwenden." – Ein praktischer Hinweis bei der Optimierung von Programmen.
  • "Korrekter Umgang mit Strukturmitgliedern ist wichtig." – Eine essentielle Regel beim Programmieren mit C.

Schritt-für-Schritt Shadowing-Anleitung

Um Ihre Fähigkeiten im Englisch sprechen üben und die Englische Aussprache verbessern zu können, folgen Sie diesen Schritten, während Sie diesem Video zuhören:

  1. Aktives Zuhören: Hören Sie sich das Video mehrmals an und versuchen Sie, die Hauptideen zu erfassen.
  2. Shadowing: Warten Sie, bis der Sprecher eine kurze Pause macht, und wiederholen Sie die Sätze laut. Achten Sie dabei auf die shadowspeak-Technik, indem Sie die Intonation und den Rhythmus des Sprechers nachahmen.
  3. Aufzeichnen: Nehmen Sie Ihre Wiedergabe auf, um Ihre Aussprache zu analysieren und zu überprüfen, wo Verbesserungen möglich sind. Dies hilft Ihnen, Ihre Fortschritte zu verfolgen.
  4. Wiederholung: Üben Sie regelmäßig, um ein besseres Gefühl für die Sprache und die technischen Begriffe zu entwickeln. Nutzen Sie shadowspeaks, um präziser und flüssiger zu sprechen.
  5. Feedback einholen: Wenn möglich, bitten Sie jemanden, Ihre Aussprache zu bewerten. Externes Feedback kann sehr hilfreich sein, um blinde Flecken zu identifizieren.

Durch das regelmäßige Üben dieser Techniken können Sie Ihre Englischkenntnisse erheblich verbessern und lernen, wie Sie komplexe technische Themen klarer kommunizieren können.

Was ist die Shadowing-Technik?

Shadowing ist eine wissenschaftlich fundierte Sprachlerntechnik, die ursprünglich für die professionelle Dolmetscherausbildung entwickelt und durch den Polyglotten Dr. Alexander Arguelles populär gemacht wurde. Die Methode ist einfach aber wirkungsvoll: Du hörst englisches Audio von Muttersprachlern und wiederholst es sofort laut — wie ein Schatten, der dem Sprecher mit nur 1–2 Sekunden Verzögerung folgt. Anders als passives Hören oder Grammatikübungen zwingt Shadowing dein Gehirn und deine Mundmuskulatur, gleichzeitig echte Sprachmuster zu verarbeiten und zu reproduzieren. Studien zeigen, dass es Aussprachegenauigkeit, Intonation, Rhythmus, verbundene Sprache, Hörverständnis und Sprechflüssigkeit signifikant verbessert — was es zu einer der effektivsten Methoden für die IELTS Speaking-Vorbereitung und reale englische Kommunikation macht.