Gamestudio Links
Zorro Links
Newest Posts
Change chart colours
by 7th_zorro. 05/11/24 09:25
Data from CSV not parsed correctly
by dr_panther. 05/06/24 18:50
AUM Magazine
Latest Screens
The Bible Game
A psychological thriller game
SHADOW (2014)
DEAD TASTE
Who's Online Now
2 registered members (alibaba, vicknick), 1,492 guests, and 4 spiders.
Key: Admin, Global Mod, Mod
Newest Members
firatv, wandaluciaia, Mega_Rod, EternallyCurious, howardR
19050 Registered Users
Previous Thread
Next Thread
Print Thread
Rate Thread
Struct-Arrays verschachteln #260182
04/09/09 10:00
04/09/09 10:00
Joined: Jul 2006
Posts: 63
Deutschland
T
Tecizo Offline OP
Junior Member
Tecizo  Offline OP
Junior Member
T

Joined: Jul 2006
Posts: 63
Deutschland
Hallo,

hab mal ne Frage: Wenn die folgenden Structs habe:
Code:
typedef struct
{
	STRING* irgendwas;
}ERSTERSTRUCT;

typedef struct
{
	ERSTERSTRUCT* erstestructs;
}ZWEITERSTRUCT;

und ich jetzt aus dem ersten Struct einen Array mache, den ich dann dem zweiten Struct hinzufüge:
Code:
ERSTERSTRUCT* structarray = malloc(sizeof(ERSTERSTRUCT) * 2);
structarray[0].irgendwas = "ein Text";
structarray[1].irgendwas = "noch ein Text";

ZWEITERSTRUCT normalerstruct;
normalerstruct.erstestructs = structarray;

würde ich gern über den normalen Struct auf den Structarray zugreifen.
Code:
STRING* irgendwas = normalerstruct.erstestructs.irgendwas;

funktioniert zwar, aber ich kann so nicht auf structarray[1] zugreifen und
Code:
STRING* irgendwas = normalerstruct.erstestructs[1].irgendwas;

funktioniert nicht.
Gibt es eine möglichkeit darauf zuzugreifen?

Re: Struct-Arrays verschachteln [Re: Tecizo] #260187
04/09/09 10:27
04/09/09 10:27
Joined: Jul 2008
Posts: 894
T
TechMuc Offline
User
TechMuc  Offline
User
T

Joined: Jul 2008
Posts: 894
Code:
typedef struct
{
	STRING* irgendwas;
}ERSTERSTRUCT;

typedef struct
{
	ERSTERSTRUCT** erstestructs;
}ZWEITERSTRUCT;

ERSTERSTRUCT** structarray = malloc(sizeof(ERSTERSTRUCT*) * 2);
structarray[0] = malloc(sizeof(ERSTERSTRUCT));
structarray[1] = malloc(sizeof(ERSTERSTRUCT));

structarray[0].irgendwas = "ein Text";
structarray[1].irgendwas = "noch ein Text";

ZWEITERSTRUCT normalerstruct;
normalerstruct.erstestructs = structarray;
normalerstruct.erstestructs[1]->string = ...


Re: Struct-Arrays verschachteln [Re: TechMuc] #260189
04/09/09 10:56
04/09/09 10:56
Joined: Jul 2006
Posts: 63
Deutschland
T
Tecizo Offline OP
Junior Member
Tecizo  Offline OP
Junior Member
T

Joined: Jul 2006
Posts: 63
Deutschland
Das funktioniert leider nicht.
Ich bekomme immernoch die Fehlermeldung
Quote:
Error in 'MAIN' line 57: subscript requires array or pointer type<normalerstruct.erstestructs[1]->string = "test";>

aber trozdem danke

Re: Struct-Arrays verschachteln [Re: Tecizo] #260190
04/09/09 11:01
04/09/09 11:01
Joined: Jul 2008
Posts: 894
T
TechMuc Offline
User
TechMuc  Offline
User
T

Joined: Jul 2008
Posts: 894
(normalerstruct.erstestructs)[1]->irgendwas = str_create("#512");

Sorry, klammern vergessen, blöde clite besonderheit.. hier der komplette code den ich getestet hab und der funktioniert:

Code:
typedef struct
{
	STRING* irgendwas;
}ERSTERSTRUCT;

typedef struct
{
	ERSTERSTRUCT** erstestructs;
}ZWEITERSTRUCT;


function main()
{
	ERSTERSTRUCT** structarray = malloc(sizeof(ERSTERSTRUCT*) * 2);
	structarray[0] = malloc(sizeof(ERSTERSTRUCT));
	structarray[1] = malloc(sizeof(ERSTERSTRUCT));
	
	ZWEITERSTRUCT normalerstruct;
	normalerstruct.erstestructs = structarray;
	(normalerstruct.erstestructs)[1]->irgendwas = str_create("#512");
	str_cpy((normalerstruct.erstestructs)[1]->irgendwas,"test123");
	diag((normalerstruct.erstestructs)[1]->irgendwas);
	diag(structarray[1].irgendwas);
}


Re: Struct-Arrays verschachteln [Re: TechMuc] #260192
04/09/09 11:06
04/09/09 11:06
Joined: Jul 2006
Posts: 63
Deutschland
T
Tecizo Offline OP
Junior Member
Tecizo  Offline OP
Junior Member
T

Joined: Jul 2006
Posts: 63
Deutschland
Funktioniert!

Vielen Dank


Moderated by  HeelX, Lukas, rayp, Rei_Ayanami, Superku, Tobias, TWO, VeT 

Gamestudio download | chip programmers | Zorro platform | shop | Data Protection Policy

oP group Germany GmbH | Birkenstr. 25-27 | 63549 Ronneburg / Germany | info (at) opgroup.de

Powered by UBB.threads™ PHP Forum Software 7.7.1