Parameterübergabe: String



  • Hallo,

    Macht es einen unterschied (und wenn ja, welchen?),
    ob ich einen String als "normal" an eine Funktion übergebe, oder als Pionter auf das erste Zeichen?

    "normal" (wie sagt man dazu?):

    void Fkt_Name(char String[20])
    

    mit Pionter:

    void Fkt_Name(char *String)
    

    Danke und Gruß



  • Vielleicht weisst du ja, das
    die Anfangsadresse vom String, sprich &String[0] identisch
    ist mit dem Pointer String.
    Wenn du das Array übergibst, übergibst du die komplette Größe.
    20 * sizeof(char).
    Beim Pointer übergibst du lediglich die Adresse. Es wird damit
    auch weniger Speicher allokiert, sprich, es geht schneller!


Anmelden zum Antworten