When you first create the array, as in int arr[160] = {0};, then yes, that will initialize that array to 0's. Using any number, will cause arr[0], to be that number, but the rest of the array will be filled with 0's. You can test it out by adding a for loop at the start of your program, and cout the array. Do it without and then, with, the initializing to see the difference.