Wskaźnik tablicy char jako adres pamięci

0

mam problem z tym kodem teoretycznie wszystko powinno być ok :P

 

int var_8=0; // wartość początkowa
char var_C ;
char v_262ef8[56] ={0x38, .... };
....

var_C= *(&v_262ef8+var_8);

dostaje błąd
error: invalid conversion from 'char' to 'char' [-fpermissive]|*

wiem ze mógłbym zastosować inny zapis

 var_c = v_262ef8[var_8]; 

ale zależy mi na użyciu wskaźników jak w pierwotnym kodzie

zapomniałem dopisać że chce przekazać adres tablicy jako parametr funkcji a potem przeprowadzić tą operacje

0
 

int var_8=0; // wartość początkowa
char var_C ;
char v_262ef8[56] ={0x38, .... };
....

var_C= *(v_262ef8+var_8);

char [] jest tym samym czym char *, więc już jest wskaźnikiem

1
  1. Tablica NIE JEST wskaźnikiem ale może być do niego zrzutowana.
  2. Nazwa tablicy jest rzutowana na pierwszy jej element więc adres początku tablicy to nie &v_262ef8 tylko samo v_262ef8 albo &(v_262ef8[0])
  3. Stosowania takiego "wskaźnikowego" zapisu jest bez sensu i niepotrzebnie gmatwa ci kod.
0
Shalom napisał(a):
  1. Tablica NIE JEST wskaźnikiem ale może być do niego zrzutowana.
  2. Nazwa tablicy jest rzutowana na pierwszy jej element więc adres początku tablicy to nie &v_262ef8 tylko samo v_262ef8 albo &(v_262ef8[0])
  3. Stosowania takiego "wskaźnikowego" zapisu jest bez sensu i niepotrzebnie gmatwa ci kod.

bardzo dziękuje za rozwiązanie

co do gmatwania cześć kodu już jest niestety napisana przez kogoś i jego przepisanie byłoby strasznie trudne bo najpierw musiałbym zrozumieć cały algorytm dość zawiłych procedur działań na danych

1 użytkowników online, w tym zalogowanych: 0, gości: 1