• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Alokowanie dynamicznej tablicy napisów

0 głosów
60 wizyt
pytanie zadane 13 lutego w C i C++ przez Dudekdude Początkujący (280 p.)
Pytanie bezpośrenio związane z tytułem, jak zaalokować dynamicznie coś takiego? char**

Pytanie z języka C

1 odpowiedź

0 głosów
odpowiedź 13 lutego przez Criss VIP (129,880 p.)
Zaalokować dynamicznie tablice wskaźników, a potem pod każdy indeks zaalokować tablice char-ów (przypisać adres zwrócony przez malloc).
komentarz 13 lutego przez Dudekdude Początkujący (280 p.)
komentarz 13 lutego przez Criss VIP (129,880 p.)

Raczej tak:

char **tab=malloc(x* sizeof(char*));
    for(int i=0;i<x;i++)
    {
        tab[i]=malloc(4* sizeof(char));
    }

Zmieniłem:

  • W pierwszej linii int* na char*. Wskaźnik to wskaźnik (zawsze ma taki sam rozmiar) więc i tak my działało tak samo, ale nie wiadomo skąd tam się wziął int.
  • W drugiej linii `(int)sizeof(nap1)-2` na `x` - alokujesz x wskaźników, więc również x powinno być wypełnionych. Nie wiem co to jest sizeof(nap1).
  • W 4. linii `char*` na `char` - alokujemy pamięć wystarczającą na 4 char-y. char* to zupełnie inny typ, z pewnością o innym rozmiarze, i to już jest poważny błąd.

Podobne pytania

0 głosów
0 odpowiedzi 105 wizyt
0 głosów
1 odpowiedź 155 wizyt
+1 głos
1 odpowiedź 46 wizyt
Porady nie od parady
Zadając pytanie postaraj się o odpowiedni tytuł, kategorię oraz tagi.
Ciekawy innych porad? Odwiedź tę stronę!

45,873 zapytań

86,345 odpowiedzi

172,633 komentarzy

22,284 pasjonatów

Przeglądających: 113
Pasjonatów: 6 Gości: 107

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...