Это очень быстрый вопрос. Почему я позволил сделать это:назначение массива указателей символов
char* sentence[2] ={"blahblah","trololo"};
int main() {
printf("%s",sentence[0]);
printf("%s",sentence[1]);
return 0;
}
, но не это ?:
char* sentence[2];
sentence[0] = "blahblah";
sentence[1] = "trololo";
int main() {
printf("%s",sentence[0]);
printf("%s",sentence[1]);
return 0;
}
Рассмотрите, было ли у вас несколько исходных файлов, каждый из которых содержит код * вне * функций. Когда вы скомпилируете его вместе, когда (и в каком порядке) вы ожидаете, что весь этот код будет выполнен? – dreamlax