Atari Logo
Atari Computer

Hauptseite -
Welches System? -
Hardware -
Software -
Emulatoren -
Internet
MausNet
Programmieren
Verweise
Über

C

Home Funktionen offenen Felder const Parameter

10.4 Parameter verändern

In C sind sämtliche Paramter Kopien. Eine Funktion kann deshalb nicht einen Parameter so ändern, daß der Aufrufer von dieser Änderung Notiz nimmt.

#include <stdio.h>

void Rechne(int a)
{
   a = 10 * a;
}

int main(void)
{  int i = 3;

   printf("i vor dem Aufruf: %d\n",i);
   Rechne(i);
   printf("i nach dem Aufruf: %d\n",i);
   return 0;
}

Müssen die Parameter verändert werden. Z.B. weil es Strukturen sind, die als Returnwerte nicht zulässig sind, muß ein Zeiger auf diesen Datentyp übergeben werden.

#include <stdio.h>

void Rechne(int *a)
{
   *a = 10 * (*a);
}

int main(void)
{  int i = 3;

   printf("i vor dem Aufruf: %d\n",i);
   Rechne(&i);
   printf("i nach dem Aufruf: %d\n",i);
   return 0;
}

Man beachte, daß jetzt in dem Aufruf natürlich auch der Adreßoperator benutzt wird, um die Adresse der Variablen zu ermitteln. Da der Name eines Feldes der Adresse des ersten Elements entspricht, können Elemente von Felder auch verändert werden. Ein Beispiel dazu findet sich im Kapitel über offene Felder.


Home Funktionen offenen Felder const Parameter


Best viewed with any browser English version not yet available.

Änderungen und Irrtümer vorbehalten. Letzte Änderung:
14 September 2001.
Home - Mail an den Webmaster - Impressum