Download Altes Skript Programmieren in C - Technische Universität München
Transcript
11.5 Vertiefung: Zeiger, ein mächtiges Werkzeug
while (n > 0)
{
sum += *a * *b;
a++;
b++;
n--;
}
return (sum);
}
oder kürzer:
double scalprod (double *a , double *b , int n)
{
double sum;
for(sum = 0.0; n > 0; n--)
sum += *a++ * *b++;
return (sum);
}
11.5.10 Strings
Wir wollen noch einmal auf Strings zurückkommen. Strings sind in C kein eigener Datentyp sondern ein Vektor vom Typ char.
Das letzte Zeichen dieses Character-Feldes ist das Bitmuster 0. Die String-Konstante
"Dies ist ein String" wird also im Speicher abgelegt als Dies ist ein String\0
in einem char-Vektor mit 20 Elementen, dieser String hat eine konstante Adresse.
char string1[20],
string2[100];
/* String-Var. = char-Vektoren */
char *strptr1, *strptr2; /* String-Pointer = Pointer auf char */
strptr1 = "Hallo Welt"; /* strptr1 zeigt auf String */
damit:
printf("Hallo Welt\n"); /* direkte Textausgabe */
== printf("%s\n","Hallo Welt"); /* Ausgabe des Strings "..." */
== printf("%s\n",strptr1); /* Ausg. d. Str. via Pointer */
OK:
strptr2 = strptr1;
/* Zuweisung von Zeigern */
193