PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Hilfe, Pointer...



Bumbum
07.06.2008, 17:56
Hallo Leute,

ich glaube es liegt an der Wärme. Ich krieg das mit den Pointern in C nicht gebacken. Ich würde mich als fortgeschrittenen Programmierer bezeichnen, der früher auch schon viel unter Turbo Pascal mit Pointern gearbeitet hat, aber bei C habe ich gerade eine Denkblockade...

In C habe ich allerdings noch wenig bis gar keine Erfahrung.

Ich versuche schon seit Stunden mit Hilfe von Google und dieser Seite hier eine Lösung für mein eigentlich recht einfaches Problem zu finden:

Ich habe eine Struktur und möchte diese ins EEPROM schreiben. Das ist soweit ja alles kein Problem, allerdings möchte ich es über Pointer in einer Schleife lösen. Ich würde gerne eine for-Schleife bis sizeof der Struktur machen und dann Byteweise die Werte ins EEPROM speichern. Um diesen Byteweisen Zugriff auf meine Struktur zu bekommen muss ich ja irgendwie mit Pointern arbeiten, aber irgendwie stehe ich da total auf dem Schlauch. Ich weiß nicht mal wo ich anfangen soll...

Einfaches Beispiel:




struct STest
{
U8 Wert1;
U8 Wert2;
U8 Wert3
};

struct STest Werte;

int main (void)
{
U8 i1;

for (i1 = 0;i1 < sizeof (Setup);i1++)
EEPROM_Write (.....Hier fehlts dann.....);

return (0)
}


Wer kann mir das mal bitte kurz und einfach erklären?

Vielen Dank und viele Grüße
Andreas

PicNick
07.06.2008, 19:45
Ich würde versuchen:

U8 *pPntr;
pPntr = (U8*)&Werte;

drew
08.06.2008, 14:39
Hi,
".....Hier fehlts dann....." muss dann ersetzt werden durch
pPntr[i1]
Dann sollt's passen.

Drew

Bumbum
08.06.2008, 19:31
Hallo PicNick (und Drew),

der Hinweis von PicNick hat geholfen, jetzt funktionierts. Danke erst mal!

ch denke so wie es da von PicNick "gecoded" wurde baue ich damit einen Pointer auf einen Datentyp U8 und weise ihm dann den Speicherplatz von meiner Struktur Werte zu.

Gibt es irgendwo eine Anleitung, in der sowas und alles andere was zu Pointer gehört verständlich erklärt wird? Ich finde alle Beschreibungen, die man bei Google findet setzen irgendein Wissen vorraus, das ich scheinbar nicht habe, obowhl ich mich eher zu den fortgeschrittenen Programmierern zählen würde.

Ich denke Pointer sind ein mächtiges Werkzeug, deshalb würde ich gerne mehr darüber lernen.

Viele Grüße
Andreas

sehreilig
19.06.2008, 18:20
Schau mal hier, da findest du fast alles, was dein Herz beggehrt zu C/C++

http://www.c-plusplus.de/forum/

Gruß Jens