int main(int argc, char* argv[])



  • ich habe jetzt vor paar wochen angefangen mit c, und mir ist immernoch nicht ganz klar was "char *argv[]" das [] macht. ein pointer auf ein, ja was auch immer 🤡

    kann mir einer die funktionsweise/bedeutung von [] erklären?

    wenn ich bei mir in code das schreibe: char *a[];
    dann kommt: error C2133: 'a' : Unbekannte Groesse

    ich verstehs nicht 😕



  • in c gibts keine strings...
    du verwendest statt dess 0 terminierte char-arrays...

    der argumentvector enthält die argumente mit den du dein programm gestartet hast, weil das mehrere sind (bzw seien können) hast du quasi ein array von char-arrays

    kannst ja mal das hier probieren dann wirds dir villeicht klarer

    int main(int argc,char**argv){
    for(int i=0;i<argc;++i)printf("Arguemtent %d ist %s\n",i,argv[i]);
    }
    

    wenn du das proggie jetzt mit myproggie test abc tralala aufrufst wird er dir sowas auswerfen wie

    myproggie
    test
    abc
    tralala



  • Was ist "Arguemtent" ? 😉



  • @interpreter
    Ich hatte vergessen runterzuschreiben: "Wer Rechtschreibfehler findet darf sie behalten" 😃



  • guestcler schrieb:

    wenn ich bei mir in code das schreibe: char *a[];
    dann kommt: error C2133: 'a' : Unbekannte Groesse

    char *a[] ist ein Array von Zeigern auf char. Wenn du weiter nichts hinschreibst, ist die Größe unbekannt, genauso wie einfach int foo[]; auch nicht geht.


Anmelden zum Antworten