[C] Wypełnienie zdeklarowanej wczesniej tablicy


(E Mr Koka) #1

Witam, chciałbym stworzyć dwu wymiarową tablicę posiadającą 255 wierszy, 7 kolumn i po jej zadeklarowaniu wpisać do niej dane w mniej więcej taki sposób:

int test[255][7];


test['a'] = {1,2,3,4,5,6,7};

test['z'] = {1,2,3,4,5,6,7};

lecz pojawia się błąd "error: expected constructor, destructor, or type conversion before '=' token"; Próbowałem czegoś prostszego, lecz taki kod zwraca ten sam błąd:

int test[2];


test[0] = 1;

test[1] = 2;

(Sawyer47) #2

Możesz tak definiować tablice, ale już nie później przypisywać. Musisz to zrobić inaczej.

PS Drugi kod sam w sobie nie powinien zwracać tego błędu.


([alex]) #3
  1. [*:3tgae9dj]Jak chcesz mieć tabele ba wszystkie znaki ascii to musi to być:

(E Mr Koka) #4

Sposób B działa w devcpp, lecz nawet sposób A wywala błąd. Dopowiem że piszę program na płytkę "Arduino" i tutaj język C może być specyficzny(?). I oba sposoby nie działają. Przy A i B jest taki sam błąd jak wcześniej a cały programik wygląda tak:

int test[256];


memcpy(test['a'],(int[]){1,2,3,4,5,6,7},sizeof(*test));


void setup(){}

void loop(){}

Jeśli się w tym po prostu nie da w ten sposób zrobić to chyba będę musiał wygenerować stałą tablicę i w nie potrzebne wiersze zostawić puste, ponieważ potrzebuje tablic od 0-9 i od a-z.


([alex]) #5
  1. Deklaracja miała być: int test[256][7];

  2. W języku C nie możesz odpalać takich rzeczy poza funkcjami.

  3. Specjalnie dla tych którzy nie potrafią zastosować ...

  4. [*:39pazyku]Sposób A:

    include /* dla memcpy */int test[256][7];