Ehlo.
Na wstepie... potrzebne do kombajnu marchewkowego ;-)
Mam strukture: typedef struct { int adres[6]; unsigned char preheat[6]; unsigned char limit[6]; unsigned char character[6]; unsigned char nazwa[16] ; }eeprom_set;
Struktura owa jest powiazana w pewien sposob z wielopoziomowym menu. W pewnym miejscu programu tzn. tam gdzie nastepuje wyswietlenie konkretnej wartosci ze struktury, nastepuje ustawienie wskaznika: int *edit_buffer na dana za pomoca: edit_pointer=&ustawienia.adres[mep2-2]; W zupelnie innej czesci programu musze miec mozliwosc edytowania wartosci na ktora wskazuje edit_buffer. Dokonuje tego za pomoca np. (*edit_pointer)++; Teraz problem: Jak widac struktura ma 2 typy danych inty i chary. Tak byc musi, jak zmienie char-y na inty to w EEPROM-ie mi sie nie pomiesci, adres musi byc intem. Procedura edycji danych musi byc jedna i edytowac zmienne int i char. Jak to zrobic zeby wskaznik int *edit_buffer mogl wsazywac obiekty char. Bo wskazywac to potrafi edit_pointer=(int*)(&ustawienia.limit[mep2-2]); ale zapisuje dana jako inta (zajmuje 2 bajty i slusznie). Co powinienem sie dowiedziec ?? I czy w tym przypadku nie mam znow problemu ze wskaznikami ?? Poczytalem K&R ale nie ma tam zasadniczo informacji jak postapic w tym przypadku. Teoretycznie moglbym wykorzystac wskaznik typu void i przepisywac go do wskaznika albo typu char albo typu int. Ale moze da sie bardziej elegancko. Moglbym tez niby przeciazyc funkcje, ale wolalbym miec dwa w jednym... da sie tak ??