I just want to know what is the real difference between those two char declarations other than:

-buffer[100] is any array in which you can store maximum of around 100 characters.
-buffer[100] is declared so that it does not take more memory than *buffer because you can only put limited number of characters.


I may be wrong but what is the difference between those two "chars"?