char mit Wert einer Variable erstellen, goto beenden?



  • Hallo,
    ich habe 3 Variablen

    int size;
    char name[size]; //Größe wird mit der Größe von size festgelegt
    char wert[size]; //Größe wird mit der Größe von size festgelegt
    char *name[size] = *wert;
    

    Ich möchte nämlich eine char erstellen die denn Namen einer anderen char und denn Wert einer anderen char hat, aber das haut nicht hin. Kann wer helfen?

    Kann man goto irgendwie beenden? Das es z.B. nur einmal durchläuft?

    LG



  • Ich habe deine Frage etwa fünfmal gelesen und verstehe sie noch immer nicht. Formuliere deine Frage verständlich. So kann dir keiner helfen.



  • Drück dich bitte vernünftig aus.

    Erstens hast du vier Variablen, nicht drei. Was meinst du mit dem "Namen einer anderen Variable"? Variablen haben den Namen, den du ihnen bei der Deklaration gibst, zur Laufzeit ist davon nichts übrig. goto ist ein Schlüsselwort für Sprünge, wie soll man das beenden können?!


  • Mod

    -Wie du das mit dem size machst ist falsch. Das unterstützt ein gewisser bekannter Compiler zwar als Sprachfeature, welches von C übernommen wurde, aber in C++ ist das falsch. Denn in C++ braucht man so etwas nicht (oder nur selten). In C++ nutzt du so etwas wie std::vector oder einen anderen geeigneten Container.
    -Dir ist klar, dass man mit char einzelne Zeichen meint?
    -Zeichenketten macht man in C++ mit std::string.
    -Klingt als suchtest du eine std::map. Lässt sich schwer beurteilen, weil du nach Details für eine technische Umsetzung fragst, die höchstwahrscheinlich für die Lösung deines Problems gar nicht geeignet ist, anstatt nach der Lösung deines Problems zu fragen.
    -Ebenso mit dem goto. Was willst du erreichen?
    -goto ist BÖSE und sollte nicht benutzt werden. Sollte auch dem Anfänger gar nicht beigebracht werden, bevor er damit verantwortungsvoll umgehen kann. Wer hat dir goto gezeigt?
    -Du suchst höchstwahrscheinlich andere Kontrollstrukturen (if, die ganzen Schleifen). Also die Sachen, die dir statt goto hätten gezeigt werden sollen.



  • Das mit der char hat sich geklärt 🙂 Wie kann man goto nur einmal durchlaufen lassen, normal läuft es ja unendlich lang durch



  • LightBoom schrieb:

    Das mit der char hat sich geklärt 🙂 Wie kann man goto nur einmal durchlaufen lassen, normal läuft es ja unendlich lang durch

    Was meinst du? Bei goto läuft nichts durch - es ist bloss eine Anweisung irgendwo hinzuspringen. Erklär doch mal was du machen willst, denn goto ist fast immer der falsche Ansatz.



  • SeppJ schrieb:

    -Wie du das mit dem size machst ist falsch. Das unterstützt ein gewisser bekannter Compiler zwar als Sprachfeature, welches von C übernommen wurde, aber in C++ ist das falsch.

    VLAs wurden schon vor C99 von GCC unterstützt, hat also nichts mit C zu tun. Ausserdem könnte man es auch als vorgezogenes C++1y-Feature ansehen.


  • Mod

    vla99 schrieb:

    SeppJ schrieb:

    -Wie du das mit dem size machst ist falsch. Das unterstützt ein gewisser bekannter Compiler zwar als Sprachfeature, welches von C übernommen wurde, aber in C++ ist das falsch.

    VLAs wurden schon vor C99 von GCC unterstützt, hat also nichts mit C zu tun. Ausserdem könnte man es auch als vorgezogenes C++1y-Feature ansehen.

    Interessant. Da wurde also der C-Standard an die GCC-Features angepasst? 1999 habe ich noch in der Schule mit Turbo PASCAL programmiert, so wirklich wahrgenommen habe ich die C-Standardisierung noch nicht.

    Letztlich wissen wir aber doch alle: Der Threadersteller hat das sicher nicht als vorgezogenes Feature eines künftigen C++-Standards benutzt, sondern hat das so falsch beigebracht bekommen (oder ist durch Zufall selber drauf gestoßen). Das ist mMn schon ein wichtiger Unterschied.


  • Mod

    Ausserdem könnte man es auch als vorgezogenes C++1y-Feature ansehen.

    In C++14 wird es keine VLAs geben.



  • ...



  • ich will das er wohin springt und dann wieder zurückspringt, aber nur einmal und nicht unendlichmal



  • LightBoom schrieb:

    ich will das er wohin springt und dann wieder zurückspringt, aber nur einmal und nicht unendlichmal

    Dann schreib halt eine Funktion.


Anmelden zum Antworten