• 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
77 wizyt
pytanie zadane 13 lutego w C i C++ przez Dudekdude Początkujący (300 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 (146,100 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 (300 p.)
komentarz 13 lutego przez Criss VIP (146,100 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 154 wizyt
0 głosów
1 odpowiedź 348 wizyt
+1 głos
1 odpowiedź 52 wizyt
Porady nie od parady
Możesz ukryć, zamknąć lub zmodyfikować swoje pytanie, za pomocą przycisków znajdujących się pod nim. Nie krępuj się poprawić pochopnie opublikowanego pytania czy zamknąć go po uzyskaniu satysfakcjonującej odpowiedzi. Umożliwi to zachowanie porządku na forum.Przyciski pytania

54,362 zapytań

98,200 odpowiedzi

201,961 komentarzy

26,687 pasjonatów

Przeglądających: 250
Pasjonatów: 17 Gości: 233

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.

...