Zuweisen einer Zeichenfolge zu einer anderen Zeichenfolge
Warum läuft dieser Code nicht? Warum ist str1 nicht zu str2 zugeordnet? Ich weiß, ich habe eine Option für die Verwendung von Strcpy, aber ich möchte wissen, warum dies nicht funktioniert?
#include<stdio.h>
int main()
{
char str1[]="hello";
char str2[10];
str2=str1;
printf("%s",str2);
return 0;
}
Wenn ich dagegen Zeiger verwende, funktioniert das wie hier.
#include<stdio.h>
int main()
(
char *s="good morning";
char *q;
q=s;
while(*q!='\0')
{
printf("%c",*q);
q++;
}
return 0;
}
Das funktioniert. Jetzt wurde die Zeichenfolge über Zeiger kopiert, warum also ein solcher Unterschied?