Kann man mit free() auch Speicher freigeben, der nicht mit Malloc erzeugt wurde?



  • Geht also z.B. folgendes:

    char *s;
    s = "Langer Text";
    free(s);
    


  • Nein.



  • Na, und knallt's? 😉
    Kannst Du doch selber schnell ausprobieren oder nachlesen. Nein, so geht's nicht, wobei schon die Zuweisung ordentliches Selbsmordpotential enthält. 👎



  • pointercrash() schrieb:

    Na, und knallt's? 😉
    Kannst Du doch selber schnell ausprobieren oder nachlesen.

    Ok, werde ich machen.

    wobei schon die Zuweisung ordentliches Selbsmordpotential enthält. 👎

    Warum?



  • Anfänger 4 schrieb:

    wobei schon die Zuweisung ordentliches Selbsmordpotential enthält. 👎

    Warum?

    Weil du einen const char* an einen char* zuweist.



  • hier stand Bullshit



  • Janjan schrieb:

    Anfänger 4 schrieb:

    wobei schon die Zuweisung ordentliches Selbsmordpotential enthält. 👎

    Warum?

    Weil du einen const char* an einen char* zuweist.

    Verstehe, aber wie wirkt sich das aus?

    Ich meine, der Code funktioniert ja damit.



  • Sobald du versuchst, den String zu ändern, kann dir der compiler keine Warnung liefern; das Ganze ist dann aber trotzdem undefiniertes Verhalten.



  • Man kann mit free Speicher freigeben, der nicht mit malloc reserviert wurde, z.B. von realloc oder calloc reservierten Speicher.
    Das geht jedoch nicht, wie du bereits erfahren hast:

    Anfänger 4 schrieb:

    Geht also z.B. folgendes:

    char *s;
    s = "Langer Text";
    free(s);
    


  • Ok, danke an euch für die Antworten.



  • Tim schrieb:

    hier stand Bullshit

    Danke, Erlöser, habt Dank! 🙄
    Ohne Euren unendlich wertvollen Beitrag wären wir Blödchen nie darauf gekommen. 💡
    Wieder mal in der Sinnlos- Motz- Phase? 😃



  • Du hast echt ein Problem...



  • Tim schrieb:

    Du hast echt ein Problem...

    Nö, Du. Was sollte das? Ein Produktivbeitrag sein?

    Als Du Mod warst, hast Du oft solches Sinnlos- Ausgekotze gelöscht und den Thread geclosed oder selbst das Pöbeln angefangen. Den "Depp" habe ich nicht vergessen und ich war knapp davor, das zur Anzeige zu bringen.

    Ich weiß nicht, ob Du manisch-depressiv bist oder ein schizoides Problem hast, aber es gibt den Tim, der sogar manchmal wirklich was erklärt oder den Tim, der irgendwo kurz reinspuckt, eventuell noch was kryptisches hinterherwirft und verschwindet.

    Denk' mal drüber nach, ob Dein Beitrag wirklich hilfreich war und ob's nicht doch besser gewesen wäre, was für die FAQ zu schreiben - das Wissen dazu hast Du ohne Zweifel.



  • pointercrash() schrieb:

    Tim schrieb:

    hier stand Bullshit

    Danke, Erlöser, habt Dank! 🙄
    Ohne Euren unendlich wertvollen Beitrag wären wir Blödchen nie darauf gekommen. 💡
    Wieder mal in der Sinnlos- Motz- Phase? 😃

    bezieht sich dieses "hier stand Bullshit" nicht darauf, dass Tim etwas geschrieben hat, gemerkt hat, dass er Bullshit geschrieben hat und da man seine eigene Beiträge nicht löschen kann, einfach den Beitrag editiert hat und "hier stand Bullshit" geschrieben hat? Ich hab das zumindest so interpretiert.



  • supertux schrieb:

    bezieht sich dieses "hier stand Bullshit" nicht darauf, dass Tim etwas geschrieben hat, gemerkt hat, dass er Bullshit geschrieben hat und da man seine eigene Beiträge nicht löschen kann, einfach den Beitrag editiert hat und "hier stand Bullshit" geschrieben hat? Ich hab das zumindest so interpretiert.

    Aha, Du hast den ersten Post von ihm also nicht gelesen. Lassen wir's dabei, ist besser so. 😉
    Mir geht das divenartige Benehmen auf den Zeiger, das Umfeld als Trottelwald wahrzunehmen und sich selbst aufzuführen wie eine stinkbesoffene Whitney Houston. Er kann auch anders, aber dazu scheint die Lust am Runterputzen anderer und Vorführen der eigenen Göttlichkeit zu groß. Das ganze gemultiplext mit der jeweiligen Tageslaune macht einen hohen Stinkstiefelfaktor aus. Sogar volkard geht mit Patzern souveräner um.
    Aber was soll's, wenn Tim gute Laune hat, gibt er tatsächlich Hilfestellung mit Erklärungen - die Tage kann man sich allerdings rot im Kalender anmalen. 😃



  • pointercrash() schrieb:

    supertux schrieb:

    bezieht sich dieses "hier stand Bullshit" nicht darauf, dass Tim etwas geschrieben hat, gemerkt hat, dass er Bullshit geschrieben hat und da man seine eigene Beiträge nicht löschen kann, einfach den Beitrag editiert hat und "hier stand Bullshit" geschrieben hat? Ich hab das zumindest so interpretiert.

    Aha, Du hast den ersten Post von ihm also nicht gelesen. Lassen wir's dabei, ist besser so. 😉

    nein, habe ich nicht, und es interessiert mich auch nicht, was davor stand. Er hat es ja weggemacht, wo ist das Problem?



  • supertux schrieb:

    nein, habe ich nicht, und es interessiert mich auch nicht, was davor stand. Er hat es ja weggemacht, wo ist das Problem?

    Es geht anscjeinend darum, daß jemand einen voll schlimmen Fehler gemacht hat, ihn weggemacht hat, und dachte, das war's. Ich habe ihn auch nicht gelesen. Aber der Verfolgung nach muß es sehr schlimm gewesen sein. Zum Beispiel eine korrekte Lösung runtermachen und den Autor derer total beleidigen aufgrund des vorgeblichen Fehlers. Das wäre eine Möglichkeit, die sowas erzeugt.

    Ich habe aus diesem Thread gelernt und mache Rückzieher heute nachvollziehbarer wie bei http://www.c-plusplus.net/forum/viewtopic-var-t-is-268624-and-highlight-is-.html . Hihi. Hoffentlich denke ich auch weiterhin dran.

    Naja, eigentlich ist "hier stand Bullshit" als Rückzieher kaum zu überbieten, zumal der zugegebene Bullshit nur zwei Minuten stand. Ist wohl was religiöses oder was persönliches.

    pointercrash() ist mir aber schon mehrmals als einer aufgefallen, den ich nicht zu meiner Geburtstagsparty einladen möchte, wenn ich mich recht erinnere.
    Vielleicht einfach mal die letzten 20 oder 30 Postings von pointercrash() und von Tim in der Forumssuche anschauen.



  • volkard schrieb:

    Vielleicht einfach mal die letzten 20 oder 30 Postings von pointercrash() und von Tim in der Forumssuche anschauen.

    nö, hab besseres zu tun, als zwei sich beim Streiten zuzuschauen, bzw. "zuzulesen" 😉


Anmelden zum Antworten