Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Array mit Zeigern auf ein struct

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
07.02.2006, 18:41 Uhr
Karldin Shinowa
Professional Noob


so hier is der code den er nicht will:


C++:
#include<stdio.h>
#include<iostream>

struct teststruct
{
   int a;
   int b;
};
teststruct st1={5,1};
teststruct st2={4,2};

teststruct*pointer[2]={&st1,&st2};

int main()
{
   cout<<pointer[1].a;

   getchar();
}



mfg und thx
--
Ich will die Welt verbessern, doch Gott gibt mir nicht den Code.

Dieser Post wurde am 07.02.2006 um 18:42 Uhr von Karldin Shinowa editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
07.02.2006, 19:12 Uhr
Pler
Einer von Vielen
(Operator)


Ist das C oder C++?

in c muss das ungefähr so aussehen (ungestestet):


Code:
#include<stdio.h>

struct teststruct
{
   int a;
   int b;
};


int main()
{
  struct teststruct st1;
  struct teststruct st1;
  struct teststruct* pointer[2];

  st1.a = 1;
  st1.b = 2;

  st2.a = 3;
  st2.b = 4;

  pointer[0] = &st1;
  pointer[1] = &st2;

  printf( "%d\n" ,  pointer[1]->a );;

  getchar();
}




edit:

Zitat:

#include <iostream>
cout <<...



Ok, soll wohl c++ sein...

Dieser Post wurde am 07.02.2006 um 19:16 Uhr von Pler editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
07.02.2006, 19:23 Uhr
Karldin Shinowa
Professional Noob


warum den zugriffsoperator??????

is doch genauso als würde mal st1.a schreiben...... oder?
*(pointer+0).a fun´zt auch net...
--
Ich will die Welt verbessern, doch Gott gibt mir nicht den Code.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
07.02.2006, 19:25 Uhr
Pler
Einer von Vielen
(Operator)


Was meinst du jetzt kongret?

Ich kann dir nicht folgen.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
07.02.2006, 19:32 Uhr
Karldin Shinowa
Professional Noob


also:
1) -> is doch der zugriffsoperator
2)ein pointer zeigt ja nur auf ein ding pointer[1].a müsste doch das gleiche(im Sinne) wie st2.a sein
3) zeigerarithmetik:*(pointer+1)==pointer[1]
--
Ich will die Welt verbessern, doch Gott gibt mir nicht den Code.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
07.02.2006, 20:01 Uhr
ao

(Operator)


Pointer ist ein Array von zwei Zeigern, d.h. pointer[0] und pointer[1] sind Zeiger auf teststruct.

*(pointer[0]) ist dann ein Objekt vom Typ teststruct, und die Member davon erreicht man über (*(pointer[0])).a oder einfacher über (pointer[0])->a.

Tipp: Tutorial oder Buch nehmen und nachlesen. Ein Buch über C könnte hier ergiebiger sein als ein Buch über C++.

ao
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: