When you declare an array, you specify exactly how many elements it will hold. This size is fixed at compile time and can't change while your program runs. Declare int scores[5]; and you get exactly 5 slots.
Why fixed size? C++ allocates memory based on this number. It calculates exactly how many bytes to reserve: element count times element size. This happens before your program starts.
If you need a different size, you declare a new array. Fixed-size arrays are stored on the stack, which is fast. you'll see dynamic alternatives later.