/ / c - Jaki jest prawidłowy sposób definiowania tablicy? [zamknięte] - c, tablice, char

c - Jaki jest prawidłowy sposób definiowania tablicy? [zamknięte] - c, tablice, znak

Jaki jest prawidłowy sposób zdefiniowania tablicy w c? Następująca konstrukcja nie działa, kompilator podaje błąd „Oczekiwane wyrażenie”:

#include <iostream>
#include <unistd.h>

#define Lookup[9][] = {"00", "01", "02", "03", "04", "05", "06", "07", "08"}

Odpowiedzi:

2 dla odpowiedzi № 1

Prawidłowy sposób na zdefiniowanie i zainicjowanie tablicy to

char Lookup[][3] = {"00", "01", "02", "03", "04", "05", "06", "07", "08"};

Każdy element tablicy Lookup sam jest kolejną tablicą 3 bajtów. Licząc z terminatorem zerowym, wystarczy miejsca na łańcuchy o długości 2 znaków.

Liczba elementów w tablicy jest dostępna wraz z wyrażeniem sizeof Lookup / sizeof *Lookup, jak w

int k;
for (k = 0; k < sizeof Lookup / sizeof *Lookup; k++) {
printf("element at index %d: %sn", k, Lookup[k]);
}

2 dla odpowiedzi nr 2

Aby zdefiniować tablicę int, na przykład:

int int_array[10];

Aby zdefiniować i zainicjować tablicę int:

int int_array[] = { 1, 2, 3, 4, 5 };

Określenie liczby elementów jest opcjonalne, jeśli zainicjujesz tablicę.