Hilfe bei Zeiger
Verfasst: So Jan 12, 2014 11:08 am
Hallo Leute!
Meine letzten C-Programme liegen schon einige Jahre zurück. Ich bin auf einen programmcode gestoßen, der
mir nicht ganz logisch bzw. richtig erscheint. Aber wie gesagt, ich versuche gerade wieder meine Kentnisse neu
aufzufrischen. Mit den Zeigern hatte ich zu Schulzeiten schon so meine Schwierigkeiten bzw. dieses Thema war für
uns für das Programmieren von uControllern scheinbar nicht wirklich relevant. Aber egal. Ich füge mal ein paar kurze
Code-Zeilen an und würde gerne eure Meinung darüber erfahren (die Zeilen sind nicht geordnet und sollen nur zum Verständnis erklärt werden).
Zeile 3: Hier wird doch keine Adresse übergeben sondern ein Wert oder irre ich mich? Müsste
hier nicht & (a + (sizeof(a)/2)) stehen damit der Zeiger auf eine Adresse zeigt?
Zeile 4: Wird hier die Adresse, auf die der Zeiger verweist, dekrementiert?
Zeile 5: Diese Zeile verwirrt mich komplett. Müsste hier nicht der * Operator davor?
Vielen Dank für eure Hilfe,
mfG Patrick
Meine letzten C-Programme liegen schon einige Jahre zurück. Ich bin auf einen programmcode gestoßen, der
mir nicht ganz logisch bzw. richtig erscheint. Aber wie gesagt, ich versuche gerade wieder meine Kentnisse neu
aufzufrischen. Mit den Zeigern hatte ich zu Schulzeiten schon so meine Schwierigkeiten bzw. dieses Thema war für
uns für das Programmieren von uControllern scheinbar nicht wirklich relevant. Aber egal. Ich füge mal ein paar kurze
Code-Zeilen an und würde gerne eure Meinung darüber erfahren (die Zeilen sind nicht geordnet und sollen nur zum Verständnis erklärt werden).
Code: Alles auswählen
1: unsigned int x=0;
2: unsigned char a[512];
3: unsigned char *zeiger = a + (sizeof(a)/2);
4: zeiger--;
5: if (zeiger > a + sizeof(a)) zeiger++[0] = x;
hier nicht & (a + (sizeof(a)/2)) stehen damit der Zeiger auf eine Adresse zeigt?
Zeile 4: Wird hier die Adresse, auf die der Zeiger verweist, dekrementiert?
Zeile 5: Diese Zeile verwirrt mich komplett. Müsste hier nicht der * Operator davor?
Vielen Dank für eure Hilfe,
mfG Patrick