Seite 1 von 1

Syntax Zeiger einem strukturiertem Array zuweisen

Verfasst: 13.09.2011 21:02
von ullmann
Ich möchte nicht erst lange die Suchfunktion bemühen, sicher weiß das jemand auf die Schnelle:

Code: Alles auswählen

Structure Test
  Testwert.b
  *Testzeiger
EndStructure

Dim Feld.Test(2)

*Memory_ID = AllocateMemory(100)

Feld(1)\Testzeiger = *Memory_ID
Ist das korrekt? Die Hilfe schreibt nämlich, dass immer ein "*" vor den Variablennamen muss.
Das wäre dann:

Code: Alles auswählen

*Feld(1)\Testzeiger = *Memory_ID
oder

Code: Alles auswählen

Feld(1)\*Testzeiger = *Memory_ID
Was ist also richtig?

Re: Syntax Zeiger einem strukturiertem Array zuweisen

Verfasst: 13.09.2011 21:51
von ullmann
Habs jetzt mal selber ausprobiert.

Nur diese Variante ist richtig:

Code: Alles auswählen

Feld(1)\Testzeiger = *Memory_ID

Re: Syntax Zeiger einem strukturiertem Array zuweisen

Verfasst: 14.09.2011 01:30
von STARGÅTE
Diese inkonsequenz ist in der Tat schon mehrfach angesprochen worden.
Document "*" use in Structure Pointers
Vorallem weil Test und *Test im Code unterschiedliche Variablen sind, in einer Struktur aber Test und *Test als gleich angesehen werden. (mal von den Pointern zu Strukturen abgesehen)

Es wäre hier (für anfänger oder neueinsteiger) einfacher wenn sie auch in einer Stuktur *Test verwenden können.
Vermutlich war es damals eine Frage des "Stils", da Beispiel\*Test durch das \* doch schon sehr "schräg" ist.

Re: Syntax Zeiger einem strukturiertem Array zuweisen

Verfasst: 14.09.2011 06:39
von DrShrek
STARGÅTE hat geschrieben:Vermutlich war es damals eine Frage des "Stils", da Beispiel\*Test durch das \* doch schon sehr "schräg" ist.
Aber deutlich logischer.

Re: Syntax Zeiger einem strukturiertem Array zuweisen

Verfasst: 14.09.2011 07:44
von ullmann
Es hätte ja schon genügt, wenn es in der Hilfe bei "Zeiger und Speicherzugriff" gestanden hätte. Ich habe es deshalb bei den Vorschlägen zur Hilfe gepostet.