Tutorial on the basics of using the "buffer" instruction?

Zoandar:
Why is the value of { 0 } surrounded by braces?

It creates a list of initializers...

int some_primes[5] = { 2, 3, 5, 7, 11 };

If the list is too short (not enough values), the compiler uses zeros for the remaining values.

He is setting it to zero here

He is and it is not necessary. Global / static data is automatically initialized to zero. But, there is no harm either.

Things like that are usually done to indicate an assumption made by the coder. In other words, when he wrote the "buffer_pos" code he assumed that all the elements would be initialized to zero. If they are not initialized to zero, the code will not work correctly. It's sort-of like a comment.