Czy można alokować tablice o paru zmiennych wymiarach?

0
char **tekst=(char **)malloc(N*sizeof(char*));
for(int i=0;i<N;i++)
    {int x;
     scanf("%d",&x);
     char *tekst=(char *)malloc(x*sizeof(char));}

Próbuję stworzyć nieregularną "tablicę" łańcuchów, trochę jak vector w C++. Czy w C można zrobić coś takiego?

0

Można, zaś po takim przydzieleniu nie będziesz wiedział który wiersz ma jaki rozmiar.

0

Nie rozumiem pytania. Można. Dokładnie tak jak to pokazałeś. W czym problem?

0

Mój kompilator (GNU GCC,Codeblocks) kręci nosem. Ale skoro mówicie, że dobrze to poszukam jeszcze błędu gdzie indziej. Dzięki za pomoc.

0

Kłamiesz. Kod się kompiluje.
http://ideone.com/Fcg3JA

1

Owszem kręci nosem ale dalej przy próbie użycia tego, czemu - już napisałem.

0

Chyba nie do końca jasno postawiłem sprawę. Wartości zmiennych n i x nie są określone w momencie kompilacji.

0

I nie muszą. Ale jak masz kod taki jak pokazałeś, to skad potem wiesz ile dla kolejnych elementów twojej tablicy "tekst" wynosiło x? To znaczy: skąd wiesz ile znaków możesz wpisać do kolejnych elementów? ;]

0

W C ten kod się nie skompiluje nawet

0
ujemny napisał(a):

W C ten kod się nie skompiluje nawet

Chrzani waść: http://ideone.com/8PZ5I3 C99 strict

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