Malloc auf Array? Globale Variablen?



  • machen wirs so:

    du gibts mir ein beispiel wo man deiner meinung nach eine globale variable verwenden muss und wir diskutieren es dann aus (wo die nachteile der globalen variablen liegen, wo die vorteile liegen, was man am design aendern koennte, etc).

    dein ganzes beispiel ist naehmlich n bisschen bloed.



  • Naja, dann nehmen wir einfach an, dass außer der Variable iTest mehrere Variablen in mehreren Funktionen über mehrere Formulare/Units gelesen und aktualisiert werden. Das sollte ja kein nutzbares Programm werden sondern nur ein Beispiel wie ich mit Variablen arbeiten kann ohne sie global anzulegen und dann mit extern drauf zugreifen.



  • ich wuerde sagen:
    MVC-Modell
    mit Observer-Pattern

    BTW:
    du solltest wirklich nicht die VCL verwenden, wenn du solchen code schreibst...

    globale variablen, funktionen mit seiteneffekten, code in den forumlaren,... (grausam)



  • hab ich was übersehen oder wieso tuts statt dem *** gehampel kein simples

    char* mspeicher =(char*)malloc(sizeof(char[20][40]));
    

    😕



  • dreaddy schrieb:

    hab ich was übersehen oder wieso tuts statt dem *** gehampel kein simples

    char* mspeicher =(char*)malloc(sizeof(char[20][40]));
    

    😕

    Weil Du dann immer noch nicht ohne weiteres mit mspeicher[x][y] auf die einzelnen Elemente zugreifen kannst.



  • Daniel E. schrieb:

    Dass diese 'globalen Variablen' (so etwas gibt es in C nicht) auch falsch eingesetzt werden können ist jetzt keine allzu atemberaubende Neuigkeit.

    hae? warum gibt es in C keine globalen Variablen? 😕



  • spitzenbleistift schrieb:

    Daniel E. schrieb:

    Dass diese 'globalen Variablen' (so etwas gibt es in C nicht) auch falsch eingesetzt werden können ist jetzt keine allzu atemberaubende Neuigkeit.

    hae? warum gibt es in C keine globalen Variablen? 😕

    Weil es im Standard keine Beschreibung für "globale Variablen" gibt. Aber es dürfte klar sein was damit gemeint ist, wenn von "globalen Variablen" die Rede ist...



  • mady schrieb:

    spitzenbleistift schrieb:

    Daniel E. schrieb:

    Dass diese 'globalen Variablen' (so etwas gibt es in C nicht) auch falsch eingesetzt werden können ist jetzt keine allzu atemberaubende Neuigkeit.

    hae? warum gibt es in C keine globalen Variablen? 😕

    Weil es im Standard keine Beschreibung für "globale Variablen" gibt. Aber es dürfte klar sein was damit gemeint ist, wenn von "globalen Variablen" die Rede ist...

    heisst das, dass laut Standard eine Definition ausserhalb einer Funktion illegal ist?



  • Nein. Aber das ist dann nicht global im Sinne von "überall sichtbar". (ich persönlich halte das allerdings für Haarspalterei)



  • spitzenbleistift schrieb:

    heisst das, dass laut Standard eine Definition ausserhalb einer Funktion illegal ist?

    int a; void f() {} int b;
    

    Sowohl a als auch b liegen außerhalb des Sichtbarkeitsbereiches von f. Ergo sind sie beide 'global'. Allerdings ist b in f unsichtbar. Man kann sich jetzt dazu hinreißen lassen, zu behaupten, a sei 'globaler' als b. Das ist optimalstes Dummdeutsch.


Anmelden zum Antworten