Diverse probleme beim einstieg in die C programmierung



  • also in der hochschule wird auch win 7 benutzt (ka ob 32 oder 64bit)

    visual studio hab ich mir runtergeladen aber das ist nur für c++ oder?



  • Ja, aber C wird bis auf wenige Ausnahmen (z.B. automatischer void*-cast) in C++ eingeschlossen. C99 wird nicht unterstützt, aber wer braucht das schon?



  • Jonas OSDever schrieb:

    Ja, aber C wird bis auf wenige Ausnahmen (z.B. automatischer void*-cast) in C++ eingeschlossen. C99 wird nicht unterstützt, aber wer braucht das schon?

    Ah super, dann kompilliere ich meine C-Sourcefiles einfach mit dem C++-Compiler. Macht ja nichts, wenn ich aus Versehen C++-Features nutze ...

    Nach Wutz sollte jede Datei ganz oben folgendes stehen haben:

    #ifdef __cplusplus
    #error ich versuche gerade, C Code mit einem C++ Compiler zu übersetzen, was Schrott ist
    #endif
    
    #pragma warning( disable:4996 )
    

    Habs noch nie ausprobiert, aber damit dürfte man auch in VS C proggen können.

    Mit C99 ist C aber um ein Vielfaches besser geworden, daher kann ich dir nur ans Herz legen, eine andere IDE zu suchen (z.B. Geany oder Code::Blocks), die einen aktuellen C99-Compiler unterstützt.



  • Mir ists egal, wenn er unbedingt C99 brauch, dann soll er halt was anderes nehmen.
    Und DU, Herr trolldetected, bist selber ein Troll! Denn das mit dem 'Ausversehen C++-Features nutzen' kann nicht passieren, so lange man das richtig konfiguiert. Wenn man auf C-Kompilierung umstellt, dann kennt VS eben kein C++. Und es beschwert sich auch, wenn man Variablen und Code mischt. Ich benutz dieses Feature nie und dehmentsprechend hab ich diese Aussage gemacht, aber wer waschechtes C89 programmieren will kann das umstellen.
    C99 wird nach wie vor nicht unterstützt, ich schönige nichts, wers brauch soll sich n andren Compiler nehmen.



  • berniebutt schrieb:

    Der Eclipse-Compiler (OOP)

    Es gibt keinen "Eclipse-Compiler" und was soll das Ganze mit OOP zu tun haben?

    Möglicherweise muss auch noch using namespace std; zum Finden der benötigten DLL eingefügt werden.

    Was soll das mit DLLs zu tun haben?



  • Falls du Visual Studio benutzt, ist es sehr wichtig, die Cpp-Source File mit einer .c Endung zu versehen. (Wenn du C programmieren willst) Ansonsten wird der C++ Compiler benutzt und nicht der C-Compiler.

    Also wenn du dein leeres Projekt erstellt hast und ein Neues Element bei Quelldateien einfügst, dann wähle C++Source-File und bennene sie Name.c ( Also z.B. Aufagbe1.c)

    mfg
    Roger



  • Roger292 schrieb:

    Falls du Visual Studio benutzt, ist es sehr wichtig, die Cpp-Source File mit einer .c Endung zu versehen. (Wenn du C programmieren willst) Ansonsten wird der C++ Compiler benutzt und nicht der C-Compiler.

    Also wenn du dein leeres Projekt erstellt hast und ein Neues Element bei Quelldateien einfügst, dann wähle C++Source-File und bennene sie Name.c ( Also z.B. Aufagbe1.c)

    mfg
    Roger

    So wird's standardmäßig vom VS gemacht, aber man hat jederzeit die Möglichkeit, in den Eigenschaften der Datei (.c oder .cpp) selbst festzulegen, welcher Compiler verwendet wird.



  • jetzt benutze ich codeblocks und es funktieoniert auch soweit 👍 🙂

    aber nun stellt sich mir folgende frage:

    %d bedeutet ja soviel wie : "wert von..."
    aber was bedeutet %3d? oder %5d?

    5 mal "wert von?



  • Schlammkrabbe schrieb:

    jetzt benutze ich codeblocks und es funktieoniert auch soweit 👍 🙂

    aber nun stellt sich mir folgende frage:

    %d bedeutet ja soviel wie : "wert von..."
    aber was bedeutet %3d? oder %5d?

    5 mal "wert von?

    wert von... in einer länge von 3 bzw. 5 zeichen.
    wenn du z.b. ne einstellige zahl ausgibst werden davor noch 4 leerzeichen ausgegeben.



  • Das ist die width-Komponente vonm Formatspecifier.
    Schau mal auf http://www.cplusplus.com/reference/clibrary/cstdio/printf/

    %d bedeutet: Gib den entsprechenden Parameter als vorzeichenbehaftete Integerzahl im Dezimalformat aus.


Anmelden zum Antworten