What does any element of an array contains, when the array is defined.

It depends where the array was declared.
At global scope, it will contain zeroes, but any non-static, local scope array may contain anything.

, if i declare an array as : "char a[100] = 0;"

You can't declare it that way, the compiler will complain.