Char xx[20], such a variable declaration, is regarded as a buffer.
For example, if I write like this, it means that this space can hold 20 bytes. Of course, I can save an integer. Why can't I write it in?
How is the memory of c89 allocated? Is it char *p = malloc(sizeof(int))? You'll know if I'm right.