speicher allozieren



  • hi all,

    ne frage, wenn ich speicher in einer funktion alloziere mittels malloc().... bleibt es bestehen wenn ich die funktion noch mal aufrufe? oder muss ich die variable global deklariren? das problem ist, ich weiss nicht vor dem funktionsaufruf wieviel speicher ich brache.... aber was ich weiss, von welchem typ...
    🙂

    danke.



  • allkokieren ...

    bleibt bestehen, nicht umsonst gibt es free(); 🙂



  • Das Allozieren von Speicher hat oft sehr schlimme Folgen für die Speicherbausteine. Diese können z.B. durch die hohe magnetische Strahlung orrodiren und somit rereparable schäden erhalten. Verwende deshalb besser nur globale Variablen, da diese auf den Stack aufgebreitet werden und der ja bekanntlich viel stabeiler ist.



  • alloziierter speicher bleibt theoretisch ewig bestehen (praktisch wird bei bekannteren betriebssystemen der ganze prozess beim beenden wieder aufgeraeumt).

    du kannst aber immernoch den pointer verlieren.

    wenn du willst, dass deine funktion etwas zwischen aufrufen merkt, verwende sowas: "...{ static int foo = 0; foo += 1; return foo; }" (zaehlt rauf und gibt die zahl zurueck)



  • wie heisst es eigentlich richtig, allokieren oder allozieren?

    ich dachte bis jetzt man allokiert speicher... 😕



  • Moh schrieb:

    allozieren

    im englischen heists "allocate" aber "allokieren" ist ne miese eindeutschung. "alloziieren" klingt nun mal besser. beide sind aber absolut unzureichend, weil es prima deutsche aequivalente gibt:

    babylon schrieb:

    allocate [al·lo·cate || 'æləʊkeɪt]

    v. zuweisen, zuteilen; (Comput) einem Programm ermöglichen eine Systemressource anzusprechen



  • ich bin es schrieb:

    das problem ist, ich weiss nicht vor dem funktionsaufruf wieviel speicher ich brache....

    das ist schlecht, dann hilft auch kein malloc(?). musst wohl die daten häppchenweise verarbeiten


Anmelden zum Antworten