Motivation: In Smilebasic, arrays let you store a "dynamic" amount of elements. A static defintion is something like this: VAR SP1,SP2 You see, there are two elements. You need to write another variable to create another. With array: VAR SP[0] Here is an array with 0 elements, but if you use PUSH then you can have a dynamic number of variables without changing the code.