Si je déclare et utilise un pointeur comme celui-ci:
int counter;
char *pCow = "pCow goes MOO";
for(counter = 0; counter < 14; counter++)
printf("%c", pCow[counter]);
il affiche la chaîne entière et fonctionne et oui et il y a beaucoup de réjouissances.
Cependant, si j'utilise un initialiseur comme celui-ci:
int counter;
char *pCow = {'p','C','o','w',' ','g','o','e','s',' ','M','O','O','\0'};
for(counter = 0; counter < 14; counter++)
printf("%c", pCow[counter]);
le programme plante et pCow refuse de moo pour mon plaisir hédoniste!
3 Warnings. 0 Errors
line 11 (near initialization for 'pCow') [enabled by default] C/C++ Problem
line 11 excess elements in scalar initializer [enabled by default] C/C++ Problem
line 11 initialization makes pointer from integer without a cast [enabled by default] C/C++ Problem
Testé avec amour dans Eclipse CDT.