Ich bin nicht gut in C-Programmierung. Ich brauche einige Eingaben, wie man eine Variable zu Structure hinzufügen kann, die auf die Strukturvariablen zeigt. Ich bin mir nicht sicher, ob dieser Satz für Sie einen Sinn ergibt. Ich werde versuchen, es zu erklären.
Meine Struktur sieht aus wie (Dies ist die Struktur für String-Labyrinth Daten ist):
Hinzufügen von Variablen zu einer Struktur in C
struct maze {
char ** mazeValue;
int startx, starty;
int numrows, numcolumns;
int initdir;
};
Hier starty
Reihe in Labyrinth darstellt und startx
darstellt Spalte in Labyrinth.
Während ich durch das Labyrinth schlendere, um den Weg zu finden, muss ich jeder Bewegung Kosten zuweisen. Also, wenn ich bei [0][2]
starte und zu [1][2]
gehe, muss ich dem Standort [1] [2] und so weiter Kosten 1 zuweisen. Wie kann ich dies erreichen, indem ich die richtigen Kosten für den richtigen Standort speichere? Wie kann ich dazu eine Variable zu meiner struct
hinzufügen, so dass ich beim Drucken der Labyrinthausgabe auch die Kosten für diesen Pfad ausgeben kann.
Das Labyrinth in Ihrer Struktur ist ein 2-dimensionales Array von Zeichen: 'char ** mazeValue'. Das muss eine zweidimensionale Anordnung von Strukturen sein, so dass Sie mehr Informationen über jeden Ort im Labyrinth speichern können. – user3386109
@ user3386109 - Können Sie es bitte mehr ausarbeiten? Ich bin in C. nicht sehr vertraut. – user6344678
Wie sieht 'mazeValue' aus? Wenn es z. B. 0 für blockiert und 1 für kostenlos gibt, könnten Sie den Rest der Werte als Kosten verwenden und Ihre "struct" unverändert lassen, außer vielleicht einen größeren Typ (obwohl ich das 'char **' ändern würde zu 'char *' und mache die Indizierung selbst, also hast du statt m-> mazeValue [i] [j] '' m-> mazeValue [i * m-> numcolumns + j] '). – a3f