If there is no array declared by static, this array will be allocated in the stack frame that calls this function, that is, allocated on the stack, and this array will not be initialized. The values in the array are random. If it is defined in a function, the array used each time this function is called is generally different.
As for whether to use static to declare, on the one hand, it depends on whether you need this array to be used for a long time, on the other hand, it depends on whether it needs to be automatically initialized to 0, and on whether it needs to be used in other files.