In following code:
void main() { char a[]={1,5,3,4,5,6}; printf(\"%d\\n\",*(a++)); //line gives error: wrong type argument to increment printf(\"
a is an array object and not a pointer so you could not use the operation a++ for an array object. because this is equivalent to :
a
a++
a = a+ 1;
Here you are assigning to the array object a new value which is not allowed in C.
a + 1 return a pointer to the element 1 of your a array and it's allowed
a + 1