compiler fragen, linker fragen.



  • Hallo alle miteinander 🙂

    wenn ich in meinem Code habe:

    for (int x=0;x<=strlen(name);x++){
    
    for (int x=0;x<=10;x++){
    
    if( name[x]== '97');
    if( name[x]== "a");
    }
    

    Ist es dem compiler (das übersetzt doch?) egal, wenche Art ich in mein Programm einbaue?

    Alles wird in 0 und 1 umgewandelt, dann sind beide Programme gleih schnell, nur das compilieren dauert beim ersten (theoretisch) länger, weil die länge berechnet werden muss?

    oder gibt es während der laufzeit einen geschwindigkeits unterschied auch wenn er nur minnimal ist?

    thx



  • Das kann bei der Laufzeit einen Unterschied machen, je nachdem wie gut dein Compiler optimiert.
    Beim ersten if muss es übrigens einfach nur 97 heißen und beim zweiten if muss es 'a' heißen und nicht "a"!



  • ok, danke.

    logisch gesehen macht es auch sinn, wenn es dynamisch ist.
    Dann kann kein fester parameter angelegt werden 😞



  • for (int x=0;x<=strlen(name);x++){

    würde z.B. schonmal scheiße machen, weil es richtig

    for (int x=0;x<strlen(name);x++){

    sein muss, da name[strlen(name)] die '\0' ist.


Anmelden zum Antworten