Portál AbcLinuxu, 12. května 2025 23:43

Dotaz: C struktury a ukazatelé

Ondroid avatar 16.5.2010 02:56 Ondroid | skóre: 32 | blog: Hombre
C struktury a ukazatelé
Přečteno: 892×
Odpovědět | Admin

Mám dvě pole (*a[10], *b[10]) ukazatelů, každé na jeden typ struktury (ta, tb). V jedné ze struktur mám ukazatel na ukazatel (**ubbb). Ten mi ukazuje na ukazatel do pole a[0]->ubbb=&b[0]. Jde mi o to jak se pak dostanu z struktury “a” skrz ten ukazatel ubbb až do obsahu struktury b ? Teda něco jako a[0]->ubbb->bbb ?

typedef struct
{
int bbb;
} tb;


typedef struct
{
 tb **ubbb;
 int aaa;
} ta;

ta *a[10];
tb *b[10];

int main ( void)
{
 a[0]=malloc( sizeof (ta) );
 a[0]->aaa=10;

 b[0]=malloc( sizeof (tb) );
 b[0]->bbb=10;

 a[0]->ubbb=&b[0];

printf ("%d\n", a[0]->ubbb->bbb );
}

Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

16.5.2010 04:21 zulu
Rozbalit Rozbalit vše Re: C struktury a ukazatelé
Odpovědět | | Sbalit | Link | Blokovat | Admin
printf("%d\n", (*a[0]->ubbb)->bbb);
mess avatar 16.5.2010 09:47 mess | skóre: 43 | blog: bordel | Háj ve Slezsku - Smolkov
Rozbalit Rozbalit vše Re: C struktury a ukazatelé
Neměla by ta hvězdička být spíš před tou závorkou?
printf("%d\n", *(a[0]->ubbb)->bbb);
Cez párne mesiace zošíváš vaginy, cez neparne montuješ hajzle.
Ondroid avatar 16.5.2010 09:56 Ondroid | skóre: 32 | blog: Hombre
Rozbalit Rozbalit vše Re: C struktury a ukazatelé
To dopadne takhle:
p.c:30: error: request for member ‘bbb’ in something not a structure or union
Ondroid avatar 16.5.2010 09:52 Ondroid | skóre: 32 | blog: Hombre
Rozbalit Rozbalit vše Re: C struktury a ukazatelé
Tím při kompilaci skončím tímhle :
p.c: In function ‘main’:
p.c:30: error: ‘tb’ has no member named ‘aaa’
Ondroid avatar 16.5.2010 10:09 Ondroid | skóre: 32 | blog: Hombre
Rozbalit Rozbalit vše Re: C struktury a ukazatelé
Tak pardon, měl jsem tam nějaký překlep že to nešlo. Tohle opravdu funguje jak má. Díky !

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.