Servus, ein Zeiger wird wie folgt definert und verwendet:
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
Die Frage ist, statetext ist doch eine Adresse. Wie kann eine Adresse ausgewertet werden? Ciao Owen
|
Anzeige
|
Zeiger ProblemServus, ein Zeiger wird wie folgt definert und verwendet:
Die Frage ist, statetext ist doch eine Adresse. Wie kann eine Adresse ausgewertet werden? Ciao Owen Owen Senmeis schrieb: > Die Frage ist, statetext ist doch eine Adresse. Wie kann eine Adresse > ausgewertet werden? Auch eine Adresse ist letzten Endes auch nur ein Zahlenwert. Die Adresse "Herberstrasse 25" liegt nun mal zb 'hinter' "Herberstrasse 12" Zum anderen. Wo wird denn da etwas ausgewertet? Die Adresse wird an die Funktion übergeben und die Funktion macht etwas damit (zb sich von dieser Adresse Zeichen holen und ausgeben) Wenn du das if meinst, bedeutet es einfach, dass geschaut wird ob dir Adresse von statetext ungleich NULL ist. Für if ist jede Zahl ungleich 0 wahr.
Gast
#2466482
Nach der Definition
enthält "statetext" erstmal den Wert 0 (weil "static"-Variablen i.d.R. alle mit 0 initialisiert werden). Solange Du diesem Zeiger nun keinen Wert (z.B. die Adresse eines Textes) zuweist, macht es also auch keinen Sinn bzw. ist sogar gefährlich, dem Inhalt des Zeigers zu vertrauen. Aus diesem Grund ist es sinnvoll, vor der Benutzung des Zeigers erstmal zu prüfen, ob jemand schon mal einen Wert hingeschrieben hat, d.h. ob der Zeiger nicht mehr den Wert 0 enthält. Wichtig: Falls Du der Funktion "LCD_puts_f" einen Zeiger mit Inhalt 0 übergibt, ist es gut möglich, daß Dein Programm abstürzt. Antwort schreibenBitte melde dich an, um einen Beitrag zu schreiben. |
Anzeige
|