In C it has come to attention that there is a difference between these 2 specified syntax. Observe
char test[5] = {"c", "o", "o", "l", "\0"}; // with quotation
bring about error:
error: (near initialization for 'test')
error: excess elements in char array initializer
error: (near initialization for 'test')
error: excess elements in char array initializer
error: (near initialization for 'test')
error: excess elements in char array initializer
error: (near initialization for 'test')
Where as
char test[5] = {'c', 'o', 'o', 'l', '\0'}; // with apostrophe
Compiles finely. What is the cause of this?