diagram

___ qstntxt ___

Ich muss in C ein kurzes Programm erstellen, das Strings manipuliert, aber ich stoße immer auf seltsame Zeigerfehler. Während K & amp; R ist eine große Referenz auf die Sprache, und ich sehe es oft, wenn ich verwirrt bin, nimmt es bereits an, Sie sind ein angemessener Programmierer.

Der Dozent, der uns das Programmieren beibringt, sagte, dass gute Programmierer schöne Diagramme über diese Sachen machen, aber ich habe keine Ahnung, wie ich das machen soll. Kannst du ein gutes Buch oder Vorträge dazu empfehlen?

Danke, ich werde jede Antwort, die ich bekomme, schätzen.

    
___ qstnhdr ___ Wie machen Sie Diagramme von Speicher- und Datenstrukturen? ___ answer694972 ___

Eines der nützlichsten Dinge, die ich einmal getan habe, war meine Anwendung Zeichnen Sie die Graphen ...

In einer Anwendung, die eine komplizierte Datenstruktur hatte, die auf den Job spezialisiert war (Standard-Hashtabelle hat in diesem Fall nicht getan ;-) Ich hatte meine Anwendung ein ".dot" -Skript ausgeben, das Punktwerkzeug von graphviz könnte analysieren.

Dies geschah, indem eine Dump-Routine (okay, Methode, es war C ++) den .dot-Header

ausgab %Vor%

ging dann meine Datenstruktur und schrieb dann die Fußzeile

%Vor%

In der Struktur walk hat er jeden Zeiger mit

geschrieben %Vor%

Dabei war Quelle die Speicheradresse des mit O (O213435354) vorbereiteten Referenzierungsobjekts, und Ziel war das Objekt, auf das im selben Format verwiesen wurde.

Am Anfang jedes Objekts schrieb es auch

%Vor%

mit ... als Objektdaten.

Immer wenn die Anwendung in einem "interessanten" Zustand war, habe ich den Graph gelöscht und dann das Punktwerkzeug von graphviz verwendet, um es zu visualisieren. Ich habe sehr viel Zeigerfehler ziemlich leicht auf diese Weise gefunden, das Auge wird gebaut, um regelmäßige Strukturen in Linien zu sehen ...

Übrigens verwende ich immer noch graphviz , da es ziemlich nett ist, & amp; editieren Sie Graphen mit dem Texteditor und lassen Sie das Werkzeug danach visualisieren. Wenn ich Grafiken für ein Powerpoint-verwöhntes Publikum verkleiden muss, lade ich sie auf meinen Mac in OmniGraffle . (Und meine PC-Mitarbeiter glauben, dass ich einige Superhelden-Kräfte habe, weil ich mit dieser Kombination Graphen 10-mal schneller produziere, wenn sie Visio verwenden)

    
___ answer695033 ___

Ich stimme dem Vorschlag zu, sie zuerst auf Papier zu zeichnen und dann, wenn Sie das Bedürfnis haben, können Sie eine ASCII-Version davon in den Code einfügen.

Normalerweise verwende ich diese drei Formate:

um über das Gedächtnis nachzudenken:

%Vor%

um über Strings nachzudenken:

%Vor%

um über Bits in einem Wort nachzudenken:

%Vor%

Ich habe auch für endliche Automaten etwas Ähnliches gemacht, aber sie waren tendenziell zu komplex (und zeitaufwändig), weshalb ich den Graphviz-Code jetzt direkt in einen Kommentar einbettete. Selbst wenn man nicht über GraphViz Bescheid weiß, sollte es leicht zu erraten sein, wie man das FSM-Diagramm zeichnet.

%Vor%

Diese decken die meisten Diagramme ab, die ich brauche. Für komplexere verwende ich GraphViz oder OpenOffice Draw.

    
___ answer694943 ___

Das typische Speichermodell für C ist, dass Speicher eine Menge von Boxen ist; Jede Box ist 1 Byte breit. Jede Box hat eine Adresse in hexadezimaler Schreibweise. Ein Zeiger ist eine Variable, die eine Adresse enthält.

In Bezug auf Bücher / Vorträge suchen Sie nach einem grundlegenden Computer-Organisation und Architekturbuch.

Ich habe diese drei Bücher benutzt; Ich ordne sie durch "abnehmende Verständlichkeit" an. Der Klassiker ist der letzte von Patterson und Hennessy, aber ich finde ihn am wenigsten lesbar. YMMV.

Ссылка

Ссылка

Ссылка

    
___ answer694926 ___

Fragen Sie nach Werkzeugen, die Ihnen beim Zeichnen von Diagrammen helfen oder was die Diagramme darstellen sollen? Ich würde empfehlen, nur ein Stück Papier und Bleistift für alles zu verwenden, was Sie tun, um zu versuchen, dies selbst zu verstehen; Sie brauchen keine ausgefallenen Werkzeuge.

Wenn Sie wissen möchten, wie Zeiger funktionieren und was die Diagramme bedeuten, habe ich gefunden dieses Handout nach dem Googlen, das wie ein anständiges Tutorial aussieht.

    
___ answer694934 ___

Gute Programmierer machen keine "netten" Diagramme - sie machen ungepflegte, unleserliche, die ihren Zwecken dienen. Kritzeln Sie einfach, was Sie brauchen, auf jeder verfügbaren Oberfläche. Und wage es nicht, die "richtigen" Formen zu zeichnen - ein Ex-Kollege von mir hat einmal gesagt, dass eine Diagrammmethodik nicht wert wäre, wenn man die Diagramme nicht auf der Rückseite einer Kippe zeichnen könnte UK Leute) Paket.

    
___ answer695013 ___

Ein einfacher Weg ist es, die Erinnerung als eine riesige "Leiter" zu zeichnen. Jede Box in der Ladder repräsentiert eine Adresse im Speicher. In das Feld tippen Sie die Daten ein und daneben tippen Sie die Adresse ein. Etwas wie das:

Ссылка

Erfahren Sie auch, wie der Debugger funktioniert, er kann Ihnen oft den Inhalt von Zeigern, Variablen usw. zeigen.

    
___ answer695068 ___

Dies trifft nur auf diejenigen zu, die mit dem Inneren der Maschine vertraut sind, aber ein Trick ist, eine "falsche" Speicheradresse in meine Diagramme zu schreiben, damit sie realistisch aussieht. Was ich meine, ist dies:

%Vor%

Erraten Sie, welche Variable den Zeiger hat, und welcher hat den Wert? Eigentlich schreibe ich normalerweise die Adresse unter (oder über) B's Box, um zu zeigen, wo es ist. Und dann werde ich eine andere (sehr unterschiedliche) gefälschte Nummer aufstellen, um zu zeigen, dass A auch irgendwo liegt. Dies ist hilfreich, wenn Sie gerade erst anfangen. Später gewöhnt man sich an all diese Zeiger Zeug.

    
___ answer695005 ___

Verwenden Sie einen quadratischen Karton (Quadrille anstelle von Graphen) und einen anständigen Stift *, wenn Sie möchten, dass Ihre Diagramme schön aussehen. Auch nützlich für die Darstellung von Speicherzellen, Buchstaben in Strings und so weiter. Sie können Quadrille Moleskine sogar erhalten, wenn Sie gleichzeitig hip und quadratisch sein möchten.

*** Ich mag uni shalaku dx 0.5, da es den Feeder-Knopf an der Seite hat, so dass du deinen Griff nicht verschieben musst, um mehr Blei zu bekommen.

    
___ tag123memory ___ Verwenden Sie dieses Tag für die Speicherverwaltung oder Probleme beim Programmieren. Bei Fragen zu Speicherhardwareproblemen oder Fehlern in allgemeiner Software rufen Sie https://superuser.com oder https://serverfault.com auf, wenn dies mit Hardware oder Software auf Unternehmensebene zu tun hat. ___ tag123c ___ C ist eine universelle Computerprogrammiersprache, die für Betriebssysteme, Bibliotheken, Spiele und andere Hochleistungsanwendungen verwendet wird. Dieses Tag sollte bei allgemeinen Fragen zur C-Sprache verwendet werden, wie in der Norm ISO 9899: 2011 definiert. Fügen Sie ggf. ein versionsspezifisches Tag wie c99 oder c90 für Fragen zu älteren Sprachstandards hinzu. C unterscheidet sich von C ++ und es sollte nicht mit dem C ++ - Tag kombiniert werden, wenn ein rationaler Grund fehlt. ___ answer695123 ___

Der beste Weg, Ihr Problem zu visualisieren, besteht darin, Ihren Code zu debuggen. und konzentriere dich auf deine Variable. Es wird Ihnen nicht nur einen Einblick in Ihren Code geben, sondern Sie können auch ein exaktes Diagramm des Codes erstellen, den Ihr Dozent Ihnen gesagt hat.

    
___ tag123diagramm ___ Ein Diagramm ist eine zweidimensionale geometrische symbolische Darstellung von Informationen gemäß einer Visualisierungstechnik. ___ answer694935 ___

Vielleicht möchten Sie Gustave Duartes Blog hier sehen. In seinen Posts zeichnet er oft Diagramme von Erinnerungen und dergleichen. Dafür verwendet er Visio und ich finde die Ergebnisse ziemlich ordentlich.

    
___ answer694939 ___

Es gibt nicht viele Werkzeuge, die den Stil von Speicherkarten zeichnen, auf die sich Ihr Professor bezieht.

Die Idee, die er zu vermitteln versucht, ist, dass wenn Sie Anfänger in C sind, die Verwendung von Zeigern und Arrays Sie sehr verwirrt. Was zielt auf was? Zeigen diese beiden Zeiger auf dasselbe? Auf welche Zellen des String-Arrays bezieht sich jeder Index usw.?

Erfahrene Programmierer haben ein geistiges Bild davon. Mit Erfahrung, wirst du es auch tun. Bis dahin ist die Idee, dass Sie etwas auf Papier zeichnen könnten, um diese Dinge zu verstehen, anstatt alles in Ihrem Kopf zu haben.

Ich stimme zu, dass K & amp; R nicht als ein Lehrbuch gedacht ist und daher diese Visuals nicht hat.

Sie können ein Beispiel für diese Diagramme in Folien sehen, die ich ' für ein C-Tutorial gemacht

    
___
2
Antworten

Bild der neuronalen Netzwerkstruktur erstellen

Viele Arbeiten verwenden sehr schöne Bilder neuronaler Netze. Ich mag auch ein solches Bild für einen Bericht, den ich schreibe. Ein Beispiel: "SegNet: Eine Deep Convolutional Encoder-Decoder-Architektur für die Bildsegmentierung" von V. Badr...
15.11.2016, 07:28
3
Antworten

Javascript-Bibliothek zum Zeichnen des Abhängigkeitsdiagramms [geschlossen]

Ich möchte in der Lage sein, ein Abhängigkeitsdiagramm zu erzeugen, das zeigt, welche Softwarekomponente davon abhängig ist, welche Javascript-Bibliotheken verwendet. Anforderungen: automatisches Layout von oben nach unten Pfeile zwisch...
07.04.2013, 13:41
1
Antwort

Gemeinsames Anwendungsdiagramm für Spiele

Ich habe ein einfaches 2D-Puzzle-Spiel (wie "bejeweled") entwickelt. Es kann in zwei Modi gespielt werden - "Kampagne" und "schnelles Spiel". Der "Kampagnen" -Modus hat mehrere Ebenen. Der Spieler kann seinen Fortschritt speichern, wenn er eine...
29.05.2013, 17:56
1
Antwort

Diagramm-Connector-Algorithmus

Ich erstelle eine Anwendung, die oberflächlich wie Visio aussieht, also muss ich Objekte mit Konnektoren verbinden können. Ich möchte, dass die Konnektoren mehrere horizontale und vertikale Segmente haben und in der Lage sein, die Ecke der Konne...
17.08.2011, 15:09
15
Antworten

kostenlos, günstig oder Open Source UML und Visio-ähnliches Werkzeug [geschlossen]

Wir suchen freie / billige oder Open-Source-UML-Tools. Welche Werkzeuge hast du benutzt? Es ist in Ordnung, wenn es zwei Tools gibt, jeweils eines für Flussdiagramme und UML. Wenn ein UML-Werkzeug oder Flow-Chart-Tool billig ist (wir sind ein...
23.12.2009, 12:12
11
Antworten

Wie machen Sie Diagramme von Speicher- und Datenstrukturen?

Ich muss in C ein kurzes Programm erstellen, das Strings manipuliert, aber ich stoße immer auf seltsame Zeigerfehler. Während K & amp; R ist eine große Referenz auf die Sprache, und ich sehe es oft, wenn ich verwirrt bin, nimmt es bereits an, Si...
29.03.2009, 16:36