Try using Joe, here: int joe[7] = { 0, 1, 2, 3, 4, 5, 6 }; for( i = 0; i = 6; i++ ) printf( "%d\n", joe[i] ); Then: printf( "%d", joe[-1] ); printf( "%d", joe[-100] ); printf( "%d", joe[7] ); printf( "%d", joe[7*35] ); See what values you get. -:- Also, find out what happens when you don't initialize your array: int zippy[7]; for( i = 0; i = 6; i++ ) printf( "%d\n", joe[i] ); Then: printf( "%d", joe[-1] ); printf( "%d", joe[-100] ); printf( "%d", joe[7] ); printf( "%d", joe[7*35] ); See what values you get.