User manual
194Compiler
© 2013 Conrad Electronic
Referenzen
Da es nicht möglich ist, Arrays als Parameter zu übergeben, kann man auf Arrays über Referenzen
zugreifen. Dafür schreibt man in der Parameterdeklaration einer Funktion ein eckiges Paar Klam-
mern hinter den Parameternamen:
int StringLength(char str[])
{
int i;
i=0;
while(str[i]) i++; // wiederhole solange Zeichen nicht null
return(i);
}
void main(void)
{
int len;
char text[15];
text="hallo welt";
len=StringLength(text);
}
In main wird die Referenz von Text als Parameter an die Funktion StringLength übergeben. Ändert
man in einer Funktion einen normalen Parameter, so ist die Änderung außerhalb dieser Funktion
nicht sichtbar. Bei Referenzen ist dies anders. Über den Parameter str kann man in StringLength
den Inhalt von text ändern, da str nur eine Referenz (ein Zeiger) auf die Array Variable text ist
Man kann zur Zeit nur Arrays "by Reference" übergeben!
Zeigerarithmetik
In der aktuellen C-Control Pro Software ist auch Arithmetik auf einer Referenz (Zeiger) erlaubt, wie
das folgende Beispiel zeigt. Die Arithmetik ist auf Addition, Subtraktion, Multiplikation und Division
beschränkt.
void main(void)
{
int len;
char text[15];
text="hallo welt";
len=StringLength(text+2*3);
}
Die Zeigerarithmetik ist zur Zeit experimentell und kann eventuell noch Fehler enthalten.
Strings als Argument