this post was submitted on 25 Jul 2025
62 points (93.1% liked)

ich_iel

3777 readers
420 users here now

Die offizielle Zweigstelle von ich_iel im Fediversum.

Alle Pfosten mĂŒssen den Titel 'ich_iel' haben, der Unterstrich darf durch ein beliebiges Symbol oder Bildschriftzeichen ersetzt werden. Ihr dĂŒrft euch frei entfalten!


Matrix


đŸ“± Empfohlene Schlaufon-Applikationen fĂŒr Lassmich


Befreundete Kommunen:

!wir_iel@feddit.org

!i_itrl@feddit.org

!ich_ial@lemmy.world

!zunftgemeinde@feddit.org

!ki_iel@feddit.org


Sonstiges:

Zangendeutsch-Wörterbuch


Regeln:

1. Seid nett zueinander

Diskriminierung anderer Benutzer, Beleidigungen und Provokationen sind verboten.

2. Pfosten mĂŒssen den Titel 'ich_iel' oder 'ich iel' haben

Nur Pfosten mit dem Titel 'ich_iel' oder 'ich iel' sind zugelassen. Alle anderen werden automatisch entfernt.

Unterstrich oder Abstand dĂŒrfen durch ein beliebiges Textsymbol oder bis zu drei beliebige Emojis ersetzt werden.

3. Keine HochwÀhl-Maimais oder (Eigen)werbung

Alle Pfosten, die um HochwĂ€hlis bitten oder Werbung beinhalten werden entfernt. Hiermit ist auch Eigenwerbung gemeint, z.b. fĂŒr andere Gemeinschaften.

4. Keine BildschirmschĂŒsse von Unterhaltungen

Alle Pfosten, die BildschirmschĂŒsse von Unterhaltungen, wie beispielsweise aus WasistApplikaton oder Zwietracht zeigen, sind nicht erlaubt. Hierzu zĂ€hlen auch Unterhaltungen mit KIs.

5. Keine kantigen BeitrÀge oder Meta-BeitrÀge

ich_iel ist kein kantiges Maimai-Brett. Meta-BeitrĂ€ge, insbesondere ĂŒber gelöschte oder gesperrte BeitrĂ€ge, sind nicht erlaubt.

6. Keine ÜberfĂ€lle

Wer einen Überfall auf eine andere Gemeinschaft plant, muss diesen zuerst mit den Mods abklĂ€ren. Brigadieren ist strengstens verboten.

7. Keine Ü40-Maimais

Maimais, die es bereits in die WasistApplikation-Familienplauderei geschafft haben oder von RĂŒdiger beim letzten Stammtisch herumgezeigt wurden, sind besser auf /c/ichbin40undlustig aufgehoben.

8. ich_iel ist eine humoristische Plattform

Alle Pfosten auf ich_iel mĂŒssen humorvoll gestaltet sein. Humor ist subjektiv, aber ein Pfosten muss zumindest einen humoristischen Anspruch haben. Die AtmosphĂ€re auf ich_iel soll humorvoll und locker gehalten werden.

9. Keine Polemik, keine KöderbeitrÀge, keine Falschmeldungen

BeitrĂ€ge, die wegen Polemik negativ auffallen, sind nicht gestattet. Desweiteren sind Pfosten nicht gestattet, die primĂ€r Empörung, Aufregung, Wut o.Ä. ĂŒber ein (insbesonders, aber nicht nur) politisches Thema hervorrufen sollen. Die Verbreitung von Falschmeldungen ist bei uns nicht erlaubt.


Bitte beachtet auch die Regeln von Feddit.org

founded 1 year ago
MODERATORS
 

Diese Dinger verursachen am laufenden Band Probleme. Ich habe ja durchaus Spaß daran, wann man auch mal wirklich den eigenen Kopf benutzen muss beim Programmieren, aber Zeiger sind schon eine gewisse Herausforderung.

Edit: Es lag nicht an den Zeigern, sondern daran, dass ich ein paar kleine Fehler in meinem Code hatte, die ich ĂŒbersehen habe.

top 43 comments
sorted by: hot top controversial new old
[–] needanke@feddit.org 4 points 15 hours ago* (last edited 15 hours ago)
        c
           c
              c
ccccc      c
              c
            c
          c

Edit: sollte eigentlich nicht scheiße aussehen, hab aber grad kein Bock das zu fixen und ich finde ein kaputter Zeiger in c ist auch ein passendes Symbol hier.

[–] aaaaaaaaargh@feddit.org 25 points 1 day ago (4 children)

Ich hab das nie so richtig verstanden, warum Zeiger so problematisch sind. Es ist halt eine Referenz auf ein StĂŒck Speicher, ĂŒber dem ein Datenmodel gespannt liegt. Die einzige HĂŒrde liegt darin, die Verantwortung ĂŒber das Bestehen dieses Speichers ein wenig zu planen, aber das hat man bei schlauen Zeigern implizit genauso, man muss sie nur nicht selbst wegrĂ€umen.

[–] Kwdg@discuss.tchncs.de 8 points 1 day ago

Schlaue Zeiger sind auch kein Problem. Das Problem bei rohen Zeigern ist, wie du schon sagtest, das Management. Man muss halt immer im Blick haben wann und ob der Zeiger befreit werden muss.

Wir hatten vorhin auf der Arbeit grad ein Arbeitsspeicherleck, weil in einer Schleife ein Zeiger von einer Bibliothek kam und der Zeiger nicht befreit wurde

[–] cows_are_underrated@feddit.org 11 points 1 day ago (3 children)

Ich hasse diese Elendigen Dinger halt besonders, wenn ich irgendwas mit ~~Strings~~ FĂ€den machen will. Es gibt bei der scheiße immer Probleme.

[–] d_k_bo@feddit.org 6 points 1 day ago (1 children)

Dann wĂ€re vielleicht eine Sprache besser, die echte FĂ€den unterstĂŒtzt und nicht nur Zeiger zu Speicher, der halt irgendwann mit \0 endet.

[–] Flipper@feddit.org 4 points 1 day ago* (last edited 1 day ago) (1 children)

Du meinst die hoffentlich an der richtigen Stelle mit \0 enden.

[–] d_k_bo@feddit.org 2 points 1 day ago (1 children)

Hab ich geschrieben. Hat das Markierunter irgendwo versagt?

[–] Flipper@feddit.org 3 points 1 day ago

Ja, behoben. Meinte auch das hoffentlich weil das ja mit C zum GlĂŒck nicht garantiert ist. Hab es angepasst um es klarer zu machen.

Ist aber ganz lustig da x86 extra Instruktionen fĂŒr C FĂ€den hat.

[–] bleistift2@sopuli.xyz 5 points 1 day ago (2 children)

FĂ€den

FĂ€den sind Threads.

[–] DmMacniel@feddit.org 3 points 1 day ago

Threads sind sowas von Laufmaschen.

[–] cows_are_underrated@feddit.org 4 points 1 day ago (1 children)

Wenn ich die ultimative Quelle allen Wissens und aller Weisheit befrage, scheint der Begriff thread tatsÀchlich am ehesten dem Faden zu entsprechen, string hingegen der Schnur.

Der VollstÀndigkeit halber:

yarn = Garn twine = Zwirn rope = Seil

FĂŒr Tau finde ich keine Entsprechung im Deutschen, WĂ€hrend cord und cordage ein Oberbegriff fĂŒr alles Schnurige von Zwirn bis Tauwerk zu sein scheint.

Spanend, wie viele Worte wir fĂŒr lange, flexible Objekte gaben.

[–] Randelung@lemmy.world 1 points 1 day ago

Kann mich da nur anschliessen. Wenn es nicht C sein muss, lass es lieber. Klar lernt man viel dabei, aber die Gehirnakrobatik, die man sich dabei aneignet, ist sonst nirgends mehr anwendbar.

[–] jokro@feddit.org 4 points 1 day ago

Du siehst halt lokal nicht wo ĂŒberall ein Zeiger drauf sein könnte sondern musst den Code durchgucken

[–] bleistift2@sopuli.xyz 6 points 1 day ago

Selbst in JavaScript beißen mich Objektreferenzen gelegentlich. Ich glaube, das Problem ist darin begrĂŒndet, dass man – anders als bei einer lokalen Variable – nicht mehr Alleinherrscher ĂŒber die Daten ist und damit rechnen muss, dass sie andernorts verĂ€ndert werden.

Oder man geht davon aus, dass eine kopierende Operation die Daten kopiert statt nur einen Zeiger. Dann wundert man sich spÀter, warum Dinge, die unterschiedlich sein sollten, gleich sind.

[–] DmMacniel@feddit.org 19 points 1 day ago (2 children)
void **ptr;

wie wÀre es mit Zeiger Zeiger?

[–] excral@feddit.org 9 points 1 day ago (1 children)
void ** (**ptr)();

Wie wĂ€re es mit Zeiger Zeiger auf eine Methode die einen Zeiger Zeiger zurĂŒck gibt? Ich liebe C

[–] TheFadingOne@feddit.org 3 points 1 day ago
const char * const (* const foo)[](void *[]);

Ich weiß gar nicht was du meinst. Macht doch Sinn /s

TatsĂ€chlich hat D es geschaft die C Deklarationen ordentlich aufzurĂ€umen ohne den Syntax groß zu Ă€ndern wie bspw. Rost. DafĂŒr hat sich D aber leider an anderer Stelle gewaltig das Genick gebrochen.

[–] Flipper@feddit.org 17 points 1 day ago (3 children)

Wenn es nur eine Sprache gĂ€be, mit der Pointer effizient weg abstrahiert werden, UTF-8 direkt unterstĂŒtzt wird und die direkt ein Bau und Bibliotheken Management System aus diesem Jahrtausend mit bringt. Ideal wĂ€re natĂŒrlich wenn das genauso zu Maschinencode ĂŒbersetzt wird und damit gleich schnell wie C lĂ€uft.

Ist natĂŒrlich vollkommen unmöglich, aber man darf trĂ€umen.

[–] excral@feddit.org 6 points 1 day ago (2 children)

Fairer Weise, wenn man Zeiger nicht versteht, wird man mit dem Verleih-PrĂŒfer auch nicht klar kommen. Das wird dann auch nur maximal frustrierend sein. FĂŒr einen blutigen AnfĂ€nger, der sich noch mit Zeigern abmĂŒht ist der gelegentliche Segfault sicher angenehmer, als bei jedem kleinen Fehler, der eventuell aufgrund glĂŒcklicher UmstĂ€nde nicht mal zu Problemen gefĂŒhrt hĂ€tte, in Kompilierfehler zu rennen. Als AnfĂ€nger hĂ€tte ich die wichtige Arbeit des Verleih-PrĂŒfers sicher noch nicht zu schĂ€tzen gewusst und wahrscheinlich eher als GĂ€ngelung wahrgenommen.

Das gesagt, ich liebe Rost und grade der maschinennahen Programmierung ist es das beste, was ihr seit Ewigkeiten passiert ist. Im

[–] Flipper@feddit.org 1 points 1 day ago (1 children)

Das gute ist, das der Übersetzter dir hilft statt in C einfach Dinge wegzuoptimieren. Er erklĂ€rt warum was nicht erlaubt ist.

Was du prĂŒfst ob der Zeiger null ist. Darf er nicht sein, weg damit. Viel Spaß mit dem Speicherfehler. 👋

[–] al4s@feddit.org 2 points 13 hours ago (1 children)

Kleiner Trick aus der Industrie, einfach die EntkÀfer Version ausliefern. Dann funktioniert sogar mein Code!

[–] Flipper@feddit.org 2 points 5 hours ago

Bei uns wird ein Programm mit MS C Compiler 98 ĂŒbersetzt, weil mit neueren Compiler das Programm nicht mehr lĂ€uft.

Denn es wird mit volatile Thread Synchronisierung betrieben. đŸ„Ž

[–] Randelung@lemmy.world 1 points 1 day ago (2 children)

Ich weiss heute noch nicht, wie man eine bidirektionale verkettete Liste baut (in sicherem Rost meine ich nicht möglich) oder Referenzen von anderen Objekten in einem Strukt korrekt Lebenszeit annotiert.

[–] PlexSheep@infosec.pub 1 points 2 hours ago

Geht halt mit Pointern. Hab ich schon gemacht. Wo es wirklich spannend wird sind intrinsische verkettete listen (also die Listen Heads sind Teil vom struct, nicht das struct selbst).

Problem ist, dass du immer garantieren musst, dass sich die Addresse der Listenobjekte nicht Ă€ndert. DafĂŒr gibt's Pin, Box, und Versprechen auf Ehre.

[–] Ephera@lemmy.ml 1 points 14 hours ago (1 children)

FĂŒr die bidirektionale Liste muss man, soweit ich weiß, mit Rc auf der einen Seite und rc::Weak auf der anderen Seite arbeiten.

Fairerweise muss ich aber sagen, dass ich es noch nie ausprobiert habe. Sowas braucht man ja doch eher selten, und wenn man es braucht, will man oftmals einfach VecDeque.

[–] TheFadingOne@feddit.org 1 points 1 hour ago* (last edited 1 hour ago)

Vergiss nicht da noch ein RefCell rein zu packen weil DerefMut nicht fĂŒr Rc implementiert ist.

[–] safesyrup@feddit.org 7 points 1 day ago

Dachte gerade du hĂ€ttest das „u“ mit einem „o“ verwechselt. Dann merkte ich, ich liege falsch

[–] DmMacniel@feddit.org 2 points 1 day ago (1 children)

Kommt das snobbische verhalten die rostige Entwicklys im Kernel an den Tag legen mit der Sprache gratis dazu?

[–] Randelung@lemmy.world 5 points 1 day ago

Ja, probiers aus, kommt von selbst.

[–] einkorn@feddit.org 10 points 1 day ago

Mit Rost wĂ€re das nicht passiert. đŸ€·â€â™‚ïž

[–] Tarogar@feddit.org 13 points 1 day ago

Vor allem wollen sie nie schuld an irgendwas sein und zeigen immer auf etwas anderes zum verdÀchtigen.

[–] Senseless@feddit.org 6 points 1 day ago* (last edited 1 day ago)

BlitzzurĂŒcks entschlosst.

[–] Ravi@feddit.org 5 points 1 day ago (1 children)

Kein C, kein Problem. Wenn man das letzte bisschen Performance nicht braucht und nicht durch Ă€ußere UmstĂ€nde gezwungen wird, einfach was anderes nehmen.

[–] cows_are_underrated@feddit.org 8 points 1 day ago (1 children)

Ich will es ja lernen. Es ist ja schön mal was anderes auszuprobieren, aber die Pointer sind schon ein bisschen komplexer als ich es gewohnt bin.

[–] Ravi@feddit.org 1 points 1 day ago (2 children)

Ich weiß nicht was du schon kennst, aber ich kann Python und Kotlin empfehlen.

[–] needanke@feddit.org 3 points 15 hours ago (1 children)

Ich verstehe nicht, warum die Schlange immer wieder zum Einstieg empfohlen wird. Klar, das Hallo Welt ist schön einfach und fĂŒr viele Probleme gibt es schon fertige Bibliotheken.

Ich finde es aber unglaublich frustrierend vor einem Fehler zu sitzen und nicht zu verstehen wo der herkommt. Da helfen gerade AnfÀngern aber gute Kompilierer die in Python einfach fehlen. Ich habe lieber zwanzig mal "kann A nicht implizit in B umformen" beim Kompilieren, als unter bestimmten Vorrausetzungen beim Laufen einfach falsche Ergebnisse zu haben und nicht sehen zu können warum.

[–] Ravi@feddit.org 3 points 10 hours ago

Als Einstieg finde ich Java nicht schlecht. Das man da alles explizit hinschreiben muss erklĂ€rt super Datentypen und saubere objektorientierte Programmierung. FĂŒr Erfahrene ist das dann aber etwas Ă€tzend.

Ich bin nicht davon ausgegangen, dass man direkt mit C ins Thema Programmierung einsteigt.

Ich will ja bewusst nicht Python nehmen, weil ich mal was komplexeres ausprobieren will.

[–] UnfortunateShort@lemmy.world 2 points 1 day ago (1 children)

Warum gibt es eigentlich keine Referenzen oder Schlauzeiger in C? In C++ gelten unnötige Rohzeiger aus gutem Grund als schlechter Stil.

[–] TheFadingOne@feddit.org 4 points 1 day ago* (last edited 1 day ago)

Das Problem mit Schlauzeigern ist, dass sie zwangslĂ€ufig versteckten Kontrollfluss mit sich bringen. Das ist a) mit dem C Syntax meiner Meinung nach nicht einfach machbar ohne Pandoras BĂŒchse Ă€hnlich wie C++ und Rost zu öffnen (nicht, dass das zwangslĂ€ufig schlecht ist, aber das ist halt nicht C) und b) auch nicht unbedingt wĂŒnschenswert. Eine der schönen Sachen an C ist, dass jeglicher Kontrollfluss direkt vor einem liegt und (fast) nichts passiert, was man nicht direkt sieht. Wenn man mal mit grĂ¶ĂŸeren C++ Bibliotheken, die die Möglichkeiten von Klassen und Vorlagen wirklich ausschöpfen, gearbeitet hat, merkt man schon was das doch fĂŒr ein Segen sein kann.

[–] just_violet@c.im 2 points 1 day ago

@cows_are_underrated

Sage mir, dass du ein ich_iel Meme im Fediverse bist ohne mir zu sagen, dass du ein ich_iel Meme im Fediverse bist