W języku C nie ma przecież takiej ślicznej alokacji przy użyciu operatora new jak w C++ <3 :-D
W C służyły (służą*) do tego malloc() (rezerwuje pamięć) oraz free() (zwalnia pamięć)
Tak wygląda dynamiczne stworzenie tablicy w języku C, z rozmiarem podanym przez użytkownika:
int * tablica;
int n;
scanf("%d",&n);
tablica=(int*) malloc(n*sizeof(int));
Prawda, wygląda to gorzej niż w C++, ale cóż... trzeba z tym jakoś żyć :-D
Aby odnieść się do ostatniego elementu tablicy int'ów o rozmiarze "n" w C++ zrobilibyśmy tak: tablica[ n-1 ]. W języku C, wyglądałoby to tak:
tablica + n*sizeof(int);
Należy pamiętać, że C++ to rozwinięty C. Uczenie się języka C z kursów o C++ nie jest chyba dobrym rozwiązaniem :-/
W języku C nie programuję, ale wydaje mi się, że nie ma tam operatora [ ]... Jeśli nie mam racji, to najwyżej zaraz rzuci się na mnie z wyrzutami jakiś programista C. Raz się żyje, chyba jestem w stanie zaryzykować :-D