[Gelöst] Array in Struktur

Anfängerfragen zum Programmieren mit PureBasic.
php-freak
Beiträge: 536
Registriert: 07.02.2009 18:08

[Gelöst] Array in Struktur

Beitrag von php-freak »

Ist es möglich einen Array in eine Struktur zu packen?

Wenn ja wie?

Gruß

JENS
Zuletzt geändert von php-freak am 23.03.2009 19:04, insgesamt 2-mal geändert.
PureBasic 4.30 (x86)
Benutzeravatar
KeyKon
Beiträge: 1412
Registriert: 10.09.2004 20:51
Computerausstattung: Laptop: i5 2,8 Ghz, 16GB DDR3 RAM, GeForce 555GT 2GB VRAM
PC: i7 4,3 Ghz, 32GB DDR3 RAM, GeForce 680 GTX 4GB VRAM
Win10 x64 Home/Prof
PB 5.30 (64bit)
Wohnort: Ansbach
Kontaktdaten:

Beitrag 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...
(\/) (°,,,°) (\/)
php-freak
Beiträge: 536
Registriert: 07.02.2009 18:08

Beitrag von php-freak »

THX!
PureBasic 4.30 (x86)
Crawler
Beiträge: 110
Registriert: 08.02.2009 19:52
Computerausstattung: PB 4.41
Win7 64bit

Beitrag 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...
Benutzeravatar
Fluid Byte
Beiträge: 3110
Registriert: 27.09.2006 22:06
Wohnort: Berlin, Mitte

Beitrag von Fluid Byte »

P1 und P2 müssen Pointer sein, dann klappt das auch.
Windows 10 Pro, 64-Bit / Outtakes | Derek
Crawler
Beiträge: 110
Registriert: 08.02.2009 19:52
Computerausstattung: PB 4.41
Win7 64bit

Beitrag 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?
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag 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.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Antworten