Kann ähnliche Frage auf SO gefunden werden. Aber habe ich nicht gefunden, dass, hier ist das Szenariomit Malloc über Array
Fall 1
void main()
{
char g[10];
char a[10];
scanf("%[^\n] %[^\n]",a,g);
swap(a,g);
printf("%s %s",a,g);
}
Fall 2
void main()
{
char *g=malloc(sizeof(char)*10);
char *a=malloc(sizeof(char)*10);
scanf("%[^\n] %[^\n]",a,g);
swap(a,g);
printf("%s %s",a,g);
}
Ich bin immer gleiche Leistung in beiden Fällen. Also, meine Frage ist, wann sollte ich malloc()
anstelle von array
oder umgekehrt bevorzugen und warum ?? Ich fand allgemeine Definition, malloc()
bietet dynamische Zuordnung. Also, es ist der einzige Unterschied zwischen ihnen ?? Bitte erklären Sie mit einem Beispiel, was die Bedeutung von dynamic
ist, obwohl wir die Größe in malloc()
angeben.
'sizeof char' ist immer' 1' FYI –