Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » was bedeutet z.B. int* variable

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 < [ 2 ]
000
04.01.2005, 20:00 Uhr
~Gast
Gast


Hallo,
was bedeutet z.B. int* variable.
Ich weiß, dass int *variable ein zeiger ist und int variable eine variable.
Hier ist jetzt aber der * am typ dran
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
04.01.2005, 20:16 Uhr
Pablo
Supertux
(Operator)


Die Zuweisungen


C++:
int* x;



und


C++:
int *x;



sind äquivalent.
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!

Dieser Post wurde am 04.01.2005 um 20:18 Uhr von Pablo editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
04.01.2005, 20:28 Uhr
~Gast
Gast


und wenn ich folgendes habe:

erst eine Struktur:


C++:
struct typ_liste {
                  int wert;
                  struct typ_liste *next;
                  struct typ_liste *Ref1;
                  struct typ_liste *Ref2;
                  struct typ_liste *Ref3;
                 };



dann einen Zeiger vom typ der struktur? mit namen getRef. Was bedeutet da aber dann die variable in den Klammern? ist das irgendwie ein Übergabeparameter?


C++:
typ_liste* getRef(int element);



Weiter unten im Programm dann dieser Aufruf was ja irgendwie mit dem hier drüber zusammen hängt.


C++:
e->Ref1=getRef(DatenAusDatei[(DatenAusDatei[0]+(i*3))+1]);

 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
04.01.2005, 20:38 Uhr
Pablo
Supertux
(Operator)



C++:
typ_liste* getRef(int element);



das ist die Deklaration einer Funktion names getRef mit Parameter element voy Typ int. Die Dunktion liefert einen Zeiger auf eine Struktur typ_liste zurück.
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
04.01.2005, 20:42 Uhr
~Gast
Gast


Heißt also wenn ich eine funktion unter die main funktion schreibe muß ich sie über der main funktion deklarieren richtig?

Dann könnte ich doch eigentlich auch die Funktion ohne deklaration über die main funktion schreiben.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
04.01.2005, 21:10 Uhr
Pablo
Supertux
(Operator)



C++:
typ_liste* getRef(int element)



Ist ein Prototy, dass in einer header Datei stehen sollte, da kannst du nicht innerhalb einer Funktin benutzen.
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
05.01.2005, 09:38 Uhr
Tommix




Zitat von Pablo:
Die Zuweisungen


C++:
int* x;



und


C++:
int *x;



sind äquivalent.

Hallo,
es gibt, nebenbei, wahrhaft endlose Diskussionen, welche von beiden Schreibweisen man bevorzugen sollte und warum.

Gruß, Tommix
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
05.01.2005, 10:10 Uhr
Pablo
Supertux
(Operator)


Ich sehe nicht, warum die eine oder die andere mehr Vorteile haben sollte. Bei der int *x Variante sieht man sofort, bei int* x muss man den ganzen Ausdruck haben, um zu mercken, dass es ein Pointer ist. Ich bevorzuge int* x, weil es schöner aussieht.
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
05.01.2005, 10:40 Uhr
virtual
Sexiest Bit alive
(Operator)


@tommix
Die ganze Diskussion kommt meiner Meinung nach dadurch zustande, weil das "*" semantisch zum Typen gehört und syntaktisch zum Bezeichner. Deutlich wird das, wenn man zu der Deklaration

C++:
int* x;
int* y;


die entsprechende Kurzform wählen möchte:

C++:
int *x, *y; // richtig
int* x,y; // falsch


Ich vermeide die Kurzform generell und schreibe dann - weil das "*" aus dem "int" ja eigentlich den Datentypen "int*" bildet - auch nur

C++:
int* x;


An stelle von

C++:
int *x;


weil ich es logischer finde. Will dies aber niemanden aufdrängen: Von einem C Programmierer kann man erwarten, daß er beide Alternativen akzeptiert und soweit flexibel ist, sich an die jeweils vorherrschenden Kodierungsrichtlinien hält - die müssen nicht immer der eigenen Logik folgen.
--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
05.01.2005, 10:43 Uhr
Tommix



Ich bevorzuge auch int* x, weil für mich int* ein eigenständiger Typ ist. Dagegen spricht z.B.:

C++:
int* a, b, c;


weil hier b und c keine Pointer sind, obwohl die Schreibweise das suggeriert.

- Tommix


Bearbeitung:
Virtual war schneller.

Dieser Post wurde am 05.01.2005 um 10:44 Uhr von Tommix editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 < [ 2 ]     [ 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: