Questions about C arrays

I got some questions about C arrays.
First, why is an array a pointer to its first element?
Second, what is the difference between char and int arrays? How are they different from allocating space in memory?
Is it like 4 bytes of memory for each element of the int array , and 1 byte for each element of the char array?

I got some questions about C arrays.
First, why is an array a pointer to its first element?
Second, what is the difference between char and int arrays? How are they different from allocating space in memory?
Is it like 4 bytes of memory for each element of the int array , and 1 byte for each element of the char array?

An array never becomes a pointer and a pointer is not the same type as an array. What is true is that array names act like pointer values in nearly every context. But not always. An array name as the operand of the sizeof operator evaluates to the size of the entire array, not the size of a pointer, just one example of an array name not behaving like a pointer.

Btw, an array of ints is suitable for chars, because char is a small int.