Zurück Vor +Ebene Home Inhalt Index Hilfe

Strings

Zeichenketten oder Strings, in C über char -Felder realisiert. Funktionen zur Stringbehandlung werden über #include <string.h> zur Verfügung gestellt.
 
Zeichenketten sind in C durch das Nullzeichen ,, 0`` terminiert, belegen also ein zusätzliches Byte im Speicher.
 
char* string=``Dies ist ein String``;
/* string = 'D', string19 = ' 0' */

 
Mehrdimensionale Felder , durch mehrere Indizes adressierter Speicherbereich. Bis zu beliebiger Dimension in C realisierbar.
 
float x[2][3] = {{1,2,3},{4,5,6}};
 
Ein mehrdimensionales Feld ist ebenso wie ein eindimensionales Feld äquivalent zu einem Zeiger entsprechenden Typs:
 

float* y = x;
Das (nun eindimensionale) Feld y enthält: 1,2,3,4,5,6
Diese Addressierung y[i][j] ist verboten, da der Zeiger y keine Informationen über die Länge der Vektoren (im Beispiel 3) besitzt.
 
Äquivalente Formulierung: x[i][j] y[i*3+j]
 
Dynamische Speicherverwaltung , Feldergrößen werden nicht bei der Kompilation, sondern erst während des Programmlaufes festgelegt. C stellt dafür standardmäßig Bibliotheken zur Speicherverwaltung zur Verfügung:

#include <stdlib.h>

Reservierung von Speicher: char* String = malloc(10*sizeof(char));
Freigeben von Speicher: free(String);

Zurück Vor +Ebene Home Inhalt Index Hilfe

Copyright Verlag Harri Deutsch AG  Stöcker DeskTop Mathematik