Практика Shadowing: You are wasting memory - Изучайте разговорный английский по видео

Создание урока...
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!

Почему стоит практиковать разговор на основе этого видео?

Практика разговорного английского, используя видео, такие как это, предоставляет уникальную возможность улучшить произношение и уверенность в себе. В этом видео вы сможете наблюдать, как ведущий объясняет сложные концепции, связанные с памятью и программированием на C. Так как темы могут показаться новичкам трудными, аудирование и повторение за спикером помогут вам привыкнуть к техническому языку и терминологии, что особенно полезно для изучающих английский в IT-сфере. Постоянная практика позволяет не только запомнить новую лексику, но и освоить правильное произношение слов и фраз в контексте.

Грамматика и выражения в контексте

В видео используются несколько ключевых структур, которые стоит выделить:

  • “What happens if I add...” – Эта структура показывает условия и последствия, что полезно для формулирования сложных предложений.
  • “You probably already know...” – Использование этого выражения помогает пригласить слушателя к размышлению и включению в обсуждение.
  • “For it to be aligned...” – Эта конструкция иллюстрирует цель действия и может быть полезна в различных контекстах, когда необходимо объяснить необходимость выполнения чего-либо.

Такие конструкции обогащают ваш словарный запас и улучшают навыки критического мышления, что делает процесс разговора более естественным.

Распространенные ловушки произношения

Некоторые слова и выражения в видео могут вызвать трудности с произношением:

  • “Memory alignment” – Средний уровень сложности. Обратите внимание на его произношение и ударение.
  • “Padding” – Данное слово может быть замысловатым для произношения, особенно в контексте программирования.

Слушая и повторяя эти термины в контексте, вы сможете значительно улучшить произношение английского и уверенность в его использовании. Используйте метод shadowspeak, чтобы лучше запомнить ритм и интонацию.

Что такое техника Shadowing?

Shadowing — это научно обоснованная техника изучения языка, изначально разработанная для подготовки профессиональных переводчиков и популяризированная полиглотом доктором Александром Аргуэльесом. Метод прост, но эффективен: вы слушаете аудио на английском от носителей языка и немедленно повторяете вслух — как тень, следующая за говорящим с задержкой в 1–2 секунды. В отличие от пассивного прослушивания или грамматических упражнений, Shadowing заставляет мозг и мышцы рта одновременно обрабатывать и воспроизводить реальные речевые паттерны. Исследования показывают, что это значительно улучшает точность произношения, интонацию, ритм, связную речь, понимание на слух и беглость речи — что делает его одним из самых эффективных методов для подготовки к IELTS Speaking и реального общения на английском.