Új hozzászólás Aktív témák

  • aviator

    tag

    válasz aviator #5569 üzenetére

    char szoveg[101];
    char*szpt;
    scanf("%s",szoveg);
    szpt=(char*)malloc(sizeof(char)*((strlen(szoveg))+1));
    strcpy(szpt,szoveg);
    printf("%s",szpt);
    free(szpt);

    Újabb hasonló probléma. A strcpy itt elméletileg egy char típusú tömböt másol egy char* típusú tömbbe, ami nem lenne lehetséges. Sejtem, hogy az előző "indexelés megeszi a pointert" dolognak lesz itt is jelentősége, gondolom itt az indexelés a string-ben áll annak ellenére, hogy nem látszik az indexelő [] operátor. Kiíratáskor pedig látszólag string-ként íródik ki a pointer típus.
    Amit nem értek az az, hogy a strcpy két paramétere hogy lesz azonos típusú, melyiknek változik meg a típusa (ha egyáltalán megváltozik) és miért, illetve, hogy a kiíratáskor hogy lesz a pointerből kiíratható string.

Új hozzászólás Aktív témák