Visual Studio 2005 express: C compiler verwenden



  • nabend leutz,

    habe eine frage zum C compiler des visual stduio 2005 (express) und noch eine zu C, deshalb weiß ich nicht ob ich hier ganz richtig bin...

    wie kann man auf den C compiler beim VS umschalten? es wird nämlich standardmäßig der C++ compiler verwendet und ich glaube damit hängen auch meine anderen beiden probleme zusammen... war es in C nicht immer möglich das hier zu schreiben?

    int main()
    {
        static int a=0;
    }
    
    void func()
    {
        a=100;
    }
    

    also dass eine statische variable so ziemlich ähnlich ist wie eine globale, nur eben... naja, nicht global.
    und außerdem müsste doch

    int b[100]={-50};
    

    ein array der größe 100 erzeugen, bei dem alle felder den wert -50 enthalten oder nicht? bei mir geht jedenfalls sowohl das mit der statischen variable als auch das mit dem array nicht, könnt aber auch noch am C++ compiler liegen oder daran dass ich mich schlichtweg getäuscht habe.

    vielen dank schonmal für eure bemühungen im voraus



  • also, das mit der static-variable ist sicher falsch was du dir da gemerkt hast. Mit dem array initialisieren... kA, könnte eigentlich klappen.

    Versuch mal, deine DAteien nicht auf cpp enden zu lassen, sondern auf .c



  • Maxi schrieb:

    also, das mit der static-variable ist sicher falsch was du dir da gemerkt hast. Mit dem array initialisieren... kA, könnte eigentlich klappen.

    GCC 4.2.1 initialisiert auch nur das erste Element mit -50.
    Ich würde mal davon ausgehen, dass die Annahme falsch ist



  • santa klaus schrieb:

    wie kann man auf den C compiler beim VS umschalten?

    Dateiendung .c oder Compilerswitch /TC bzw. durch die Projecteinstellung unter Advanced/Compile As

    santa klaus schrieb:

    und außerdem müsste doch

    int b[100]={-50};
    

    ein array der größe 100 erzeugen, bei dem alle felder den wert -50 enthalten oder nicht?

    Alle Elemente, für die kein Initialisierer existiert (also die restlichen 99) werden mit 0 initialisiert.


Anmelden zum Antworten