Werner H. schrieb:
> Hallo zusammen,
>
> Folgendes habe ich im GCC-Tutorial gefunden.
>
1 | > uint8_t EEPReadByte(uint16_t addr)
|
2 | > {
|
3 | > return eeprom_read_byte((uint8_t *)addr);
|
4 | > }
|
5 | >
|
> Aber warum aus addr ein Zeiger auf einen uint8_t gemacht?
> Die EEProm-Adressen haben doch mehr als 8 bit! es müsste daher doch ein
> Zeiger auf ein uint16_t sein oder ist das wurst, weil Zeiger
> Speicheradressen speichern und diese sind immer gleich lang?!
Der Compiler weiß schon wie lang Pointer (und damit Adressen) sind. Das
braucht man ihm nicht sagen.
Aber bei Adressen ist interessant: An der Stelle im Speicher, von der
man die Adresse hat, was genau liegt den dort im Speicher?
In deinem Fall: ein uint8_t