Skript Programmierung C/C++
Skript Programmierung C/C++
Skript Programmierung C/C++
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
{<br />
}<br />
int h;<br />
h = *a;<br />
//*=Inhalt der Variable holen<br />
*a = *b; //Bezugnahme auf den Inhalt,<br />
*b = h; //sog. "Inhaltsoperator"<br />
Wirkung: a = 7 und b = 5<br />
Beispiel:<br />
Koordinatentransformation (math.h für Bogenmaß Voraussetzung)<br />
x = r * cos <br />
y = r * sin <br />
= arc tan (y/x)<br />
r = sqrt (x 2 + y 2 )<br />
void polar-kart (double r, double phi, double *x, double *y)<br />
{<br />
*x = r * cos(phi);<br />
*y = r * sin(phi);<br />
}<br />
void kart_polar (double x, double y, double *r, double *phi);<br />
{<br />
*r = sqrt ( x*x + y*y);<br />
*phi = atan 2 (y,x); /* beide Argumente einzeln überg. */<br />
}<br />
oder:<br />
aber:<br />
atan (y/x)<br />
fehlende Vorzeichen, deshalb Betrachtung!<br />
6.5 Zusammenhang zwischen Feldern und Zeigern<br />
Ein Feldname ist wie ein Adresswert zu verwenden.<br />
Beispiel:<br />
int a[100], *pa;<br />
pa = a;<br />
pa = &a [0];<br />
ist gleichbedeutend!<br />
Zeiger können auch zur Feldadressierung verwendet werden.<br />
int a[100], i, Summe, *pa;<br />
pa = a;<br />
for (i=0; i < 100; i++) *pa++=i;<br />
//Feld wird mit Werten von 0 bis 99 gefüllt<br />
summe=0;<br />
for (pa = a; pa < &a[100]; pa++) summe += *pa;<br />
oder:<br />
for (i=0, i < 100, i++) summe += *(pa+i); //Adressrechnung<br />
6.6 Felder als Funktionsargumente<br />
Felder werden immer per Adresse übergeben.<br />
32