Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

BlackSnake

Community-Fossil

  • »BlackSnake« ist der Autor dieses Themas

Beiträge: 1 549

Beruf: Student

  • Private Nachricht senden

1

01.08.2006, 16:14

Funktion-Frage

hi,
ich habe jetzt schon öfter funktionen gesehen die so sind:

void Test(char* name, ....)

was habe die punkte zu bedeuten??

2

01.08.2006, 16:19

Das ist eine variable Parameterlist, oder so ähnlich.

Da kannst du eine belibige anzahl von parametern aufführen. Ich nenn dir mal da sparade Beispie.

sprintf(char *dest, char *format, ...);

So verwendet man sprintf:
char buffer[128];
sprintf(buffer, "FPS: %.1f", 1.0d/dt);

da ist jetzt 1.0f/dt die variable Parameterliste. Man könnte da noch belib mehr dranhängen.

babelfish

Alter Hase

Beiträge: 1 222

Wohnort: Schweiz

Beruf: Informatiker

  • Private Nachricht senden

3

01.08.2006, 16:38

Ach jetzt weiss ich endlich wie das mit den unendlichen Parameter geht :D
Aber wie fragt man denn die Parameter ab?

rklaffehn

Treue Seele

Beiträge: 267

Wohnort: Braunschweig

  • Private Nachricht senden

4

01.08.2006, 16:51

Das Konstrukt nennt man "Ellipse" und es bedeutet, das eine variable Anzahl von Argumenten zu erwarten ist.

Der Header stdarg.h enthält ein paar Macros, mit denen man diese Liste wieder zerlegen kann.

MSDN: http://msdn.microsoft.com/en-US/library/kb57fad8.aspx

MfG,
Rainer
God is real... unless declared integer.
http://www.boincstats.com/signature/user_967277_banner.gif

LidlAzubi

Frischling

Beiträge: 21

Wohnort: Beerendorf

  • Private Nachricht senden

5

03.08.2006, 18:48

Damit kannst du unendlich viele Parameter angeben.

Beispiel:

C-/C++-Quelltext

1
2
3
4
5
6
7
void main()
{
   wchar_t *Name = L"Manfred"; // Mal zum Beispiel als Name

   int Punkte = 20; // Punktbeispiel


   wprintf(L"Dein Name ist %s mit %i Punkten", Name, Punkte);
}

Ausgabe:

Dein Name ist Manfred mit 20 Punkten

Mit der variabeln Parameterliste kannst du somit ein bisschen arbeit ersparen.

%s braucht logischerweise einen string, der auch als erster in der variablen Parameterliste deklariert ist, dannach kommt dann das Integer mit %i.

Wenn das nicht kapiert hast(habs ja auch nich top erklärt), oder wenn de wissen willst wie das geht, schick einfach mal ne pn oder so.
Es gibt nicht nur Schattenseiten im Leben, sondern auch Nachteile.
MfG LidlAzubi

Werbeanzeige