Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum

Re: String Array möglich? Kategorie: Programmierung C (von Jo - 8.01.2011 18:31)
Als Antwort auf Re: String Array möglich? von PeterS - 8.01.2011 17:28
Ich nutze:
C-Control Pro Mega128, CC-Pro 128 Application Board, Pro-Bot128
> > > > >
> > > > > Hallo Florian,
> > > > > wie Joerg schon sagt, du must so was machen:
> > > > >
> > > > > char mein_test_array[2][14];
> > > > >
> > > > > Und nun beginnt aber auch gleich die Problematik:
> > > > > Die für den Zugriff benötigte Pointerlogik ist NICHT offizieller Bestandteil vom Compact C !!!
> > > > > Peter hat da zwar was eingebaut, aber es ist nicht offiziell und wird daher auch nicht
> > > > > Unterstützt. Für diese Funktionalität braucht Peter einen Auftrag von CONRAD.

> > > > > Daher sollten alle Nutzer sich über
> > > > > http://www.c-control.de/kontaktformular2.html
> > > > > an CONRAD wenden. Wenn sich genug an CONRAD wenden, bekommt Peter
> > > > > hoffentlich einen Auftrag.
> > > > > Unter http://ccpro.cc2net.de/forum/lesen.php?eintrag=5886 mit dem Titel
> > > > > Verwendung von 2 (mehr) Dimensionalen char-Arrays
> > > > >
> > > > > Ist die Problematik beschrieben.
> > > > >
> > > > > Viele Grü�e
> > > > >
> > > > > Jo
> > > >
> > > > Hallo Jo,
> > > >
> > > > eines möchte ich noch zu bedenken geben. Das C-Control System
> > > > ist meiner Meinung nach in erster Line für Programieranfänger entworfen.
> > > > Eine Zeigerlogik wie Sie zum Beispiel in STEP7 verwendet wird
> > > > dürfe für diese Zielgruppe schwer zu verstehen sein und bringt dann
> > > > sehr viele Fehlerquellen mit. Ich würde mir einen Adressoperator
> > > > mit dessen Hilfe man die Adresse einer Variablen ermitteln kann
> > > > wünschen. In C ist der '&' Operator üblich.
> > > > Also keine Zeiger sondern harte Referenzen.
> > > >
> > > > GruÃ? Torsten
> > >
> > >
> > > Hallo Torsten,
> > > ich stimme dir nicht zu.
> > > Wenn mehrdim. String arrays nicht unterstützt werden, dann
> > >
> > > 1) sollte Peter aber char arrays mit mehr als einer Dimension verbieten; was nützt es denn
> > > wenn ich diese Definieren kann aber nicht nutzen???
> > >
> > > 2) Dann sollte CONRAD in der Produktbeschreibung klar stellen, "Achtung: C-Control mit
> > > Compact C ist nur für einfachste Programme gedacht, Dinge wir Arrays von Strings können z.B.
> > > nicht verwendet werden."
> > >
> > > Peter hat ja auf seine eigene Initiative eine Einfache Pointerarithmetik eingebaut
> > > (indem z.B. array + 10 geschrieben wird, das ist aber nicht offiziell und kann jeder Zeit wieder
> > > Rausfliegen. Ich würde mir wünschen, dass sich genug User bei Conrad melden und
> > > Peter für die Implementierung einen Auftrag bekommt.
> > >
> > > Viele Grü�e
> > >
> > > Jo
> >
> > Hallo Jo,
> >
> > eigentlich braucht der '[ ]' Operator nur eine Referenz
> > auf ein anonymes Array zurückzugeben und schon können
> > wir mit wirklichen mehrdimensionalen Arrays arbeiten und
> > eben auch mit String-Arrays. Es ist also gar nicht notwendig
> > Speicheradressen selbst zu berechnen, oder aus anderen
> > Ausdrücken zu bilden. Die meisten neueren Hochsprachen
> > verzichten auf den Datentyp 'Zeiger' (C#, Perl, Java) und
> > verwenden dafür eben Referenzen, was natürlich auch ein
> > Zeiger ist nur eben ein konstanter, und das Objekt auf
> > welches er zeigt wird erst aus dem Speicher entfernt wenn
> > es keine Referenz mehr auf Dieses gibt. Selbst wenn es
> > seinen Gültigkeitbereich verlässt. Es entsteht dann ein
> > 'Closure', also eine Variable die nur noch über ihre Referenz
> > erreichbar ist. Gerade auch eine Progrmmiersprache wie Perl,
> > welche sich der Textverarbeitung verschrieben hat, kommt
> > ohne den Datentyp Zeiger aus. Der Fehler in der
> > Implementierung von mehrdimensionalen Arrays bei unseren
> > C-Control System ist daÃ? eine Deklaration wie
> > z.B. 'char a_values[4][10]' nicht zu einen Array mit
> > 4 Referenzen auf anonyme Arrays von je 10 Zeichen führt.
> >
> > GruÃ? Torsten
>
> Ich würde mit dem Begriff Fehler sehr vorsichtig umgehen. All den genannten Sprachen ist
> anheim, das sie relativ viel Speicher und eine garbage collection benötigen. Hast Du
> irgendeine Ahnung wie man so etwas mit 1kb freiem Speicher (Mega32) implementieren soll?
>
> Gruss Peter

Hallo Peter,
ich denke dass jeder Nutzer der sich für den  Mega32 entscheidet sich klar sein muss, dass damit
der Funktionsumfang gegenüber dem   Mega128 eingeschränkt ist. Wenn ich einen Golf kaufe
habe ich auch nicht den Kofferraum von einem Passat. Ich hoffe wirklich sehr, dass du einen Auftrag
von Conrad bekommst den Umgang mit String-Arrays zu implementieren. Ebenso Zeiger auf
Funktionen würden oft helfen.
Viele Grü�e
Jo


    Antwort schreiben


Antworten:

Re: String Array möglich? (von PeterS - 8.01.2011 18:45)
    Re: String Array möglich? (von Torsten - 9.01.2011 11:25)
        Re: String Array möglich? (von PeterS - 9.01.2011 12:21)