присвоение строки другой строке
Почему этот код не работает? Почему str1 не назначен на str2 ?? Я знаю, что у меня есть возможность использовать strcpy, но я хочу знать причину, почему это не работает ??
#include<stdio.h>
int main()
{
char str1[]="hello";
char str2[10];
str2=str1;
printf("%s",str2);
return 0;
}
Принимая во внимание, что если я использую указатели, чем это работает как здесь ..
#include<stdio.h>
int main()
(
char *s="good morning";
char *q;
q=s;
while(*q!='\0')
{
printf("%c",*q);
q++;
}
return 0;
}
Это работает. Теперь строка была скопирована с помощью указателей, так почему такая разница?