Если я объявляю и использую указатель следующим образом:
int counter;
char *pCow = "pCow goes MOO";
for(counter = 0; counter < 14; counter++)
printf("%c", pCow[counter]);
он отображает всю строку и работает, и да, и есть много радости.
Однако, если я использую инициализатор следующим образом:
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]);
программа выходит из строя, и pCow отказывается от moo для моего гедонистического удовольствия!
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
Любопытно протестирован в CDT Eclipse.