Strcpy Segmentation Fault C

Ich Lerne einige neue Dinge stecken, die auf ein einfaches strcpy Betrieb.
Ich verstehe nicht, warum zum ersten mal, wenn ich drucken funktioniert, aber zweites mal nicht.

#include <stdio.h>
#include <string.h>
#include <stdlib.h>

int main()
{
    char *name;
    char *altname;

    name=(char *)malloc(60*sizeof(char));
    name="Hello World!";
    altname=name;
    printf("%s  \n", altname);
    altname=NULL;
    strcpy(altname,name);
    printf("%s  \n", altname);
    return 1;
}
  • Sie sind nicht die Zuweisung von mehr Speicher für altname/name.
  • wow, das ist ineffizient. sizeof(char) ist garantiert 1 byte, und wenn Sie gehen, um zu reservieren eine Feste Speichergröße, warum malloc()?
InformationsquelleAutor user3623498 | 2014-08-27
Schreibe einen Kommentar