Seite 1 von 1

[Gelöst] Array in Struktur

Verfasst: 23.03.2009 18:43
von php-freak
Ist es möglich einen Array in eine Struktur zu packen?

Wenn ja wie?

Gruß

JENS

Verfasst: 23.03.2009 18:45
von KeyKon
Array ja, LinkedList nein...

Code: Alles auswählen

Structure frosch
  quaak.i[88]
EndStructure

tier.frosch

tier\quaak[44] = 73
Echt traurig das du nicht in der lage bist solch banale Sachen selbt herauszufinden...

Verfasst: 23.03.2009 19:03
von php-freak
THX!

Verfasst: 24.03.2009 12:20
von Crawler
Ich habe ein ganz ähnliches, nahezu banales Problem. Die Hilfe habe ich selbstverständlich schon angesehen, doch habe ich nichts gefunden, was zur Lösung beitragen könnte. Oder es handelt sich mal wieder um einen typischen Fall von "Betriebsblindheit"...

Kommen wir zur Sache: Ich habe mir eine Struktur angelegt und möchte entsprechend Variablen dieser Struktur verwenden. Prinzipiell geht es darum, dass ich diese Variablen einer Prozedur übergeben möchte.

Code: Alles auswählen

structure Punkt
  x.d
  y.d
  g.d
endstructure

procedure.d strecke (P1.Punkt, P2.Punkt)

  procedurereturn result
endprocedure
Nach dem Starten des Codeschnipsels kommt bei mir ein Syntax-Error heraus. Natürlich habe ich in der Hilfe gefunden, wie man ein Array übergibt, aber das ist ja nun nicht das, was ich eigentlich haben möchte.
Ich stehe da momentan wirklich auf dem Schlauch...

Verfasst: 24.03.2009 12:58
von Fluid Byte
P1 und P2 müssen Pointer sein, dann klappt das auch.

Verfasst: 24.03.2009 13:31
von Crawler
Dank des Hinweises habe ich dann auch was in der Hilfe gefunden, unter "Zeiger und Speicherzugriff". Da kommt man doch als Normalsterblicher nicht drauf, oder? Warum ist das so in PureBasic implementiert worden, dass man in dem Fall nur Pointer übergeben kann?

Verfasst: 24.03.2009 14:07
von Kaeru Gaman
weil das relativ üblich ist bei Sprachen, die zur übergabe den Stack benutzen,
dass man nur Standardgrößen übergeben kann,
und deswegen alles was nicht 1,2,4,8 byte groß ist nur als pointer.

strings genaugenommen auch, nur dass davon automatisch eine Kopie angelegt wird.
wenn du einen String an eine Proc übergibst, übergibst du also im endeffekt einen pointer zu einer Kopie.

Strukturen sind "weiterführende" Programmierung,
und in sofern muss man dann auch hinschreiben, dass man einen Pointer benutzt.