05.11.2013 Aufrufe

Skript Programmierung C/C++

Skript Programmierung C/C++

Skript Programmierung C/C++

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!