How To Take size of An array Correctly?

suppose in the question its is given 1<=n<10^6.
most appropriately we have to take a string of that size.
we can globally declare like this: char A[1000001]
Here last digit as 1 signify for the null character.

But i have seen people declaring array like this:char A[1000010]

Why so?what is the reason behind it?trust me I got AC after Declaring the array declaration of the 2nd type

some times we may miss some (i+1) conditions which may extend beyond some boundary value ā€˜nā€™ā€¦ usually in c++ it shows some garbage value instead of throwing an exception. In java we get ArrayIndexOutOfBounds Exception. Even 10000001 should work but only care should be taken in avoiding those bounds. To be on the safe side people take some arbitrarily large values.