Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

ANSI C - Dynamiczna alokacja pamięci na tablicę stringów poza main

jowyma 18 Sty 2015 01:38 624 3
  • #1 18 Sty 2015 01:38
    jowyma
    Poziom 22  

    Bardzo proszę ponownie o pomoc bo znowu mam problemy z prawidłowym przekazywaniem zmiennych i obiektów funkcjom poza C.
    Otóż w programie main chcę zdefiniować tablicę w której jeszcze nie wiem ile będzie stringów (słów), wiem tylko że będzie takowa tablica. I potem ją chcę przekazać do funkcji poza main, gdzie dopiero zostanie określona liczba tych słów i alokowana pamięć na tablicę.

    I naprawdę już nie wiem czy ma być:

    wariant A

    Kod: cpp
    Zaloguj się, aby zobaczyć kod


    czy
    wariant B:
    Kod: cpp
    Zaloguj się, aby zobaczyć kod


    Nie wiem też jak potem wywoływać zewnętrzną funkcję
    Kod: cpp
    Zaloguj się, aby zobaczyć kod

    0 3
  • Pomocny post
    #2 18 Sty 2015 02:28
    wondurbm
    Poziom 16  

    W zasadzie tak nie należy robić. Dwie gwiazdki obok siebie to już jest podejrzane, a le trzy.... ;)

    Ale jeżeli chodzi tylko o gimnastykę z językiem C, to trzeba to zrobić tak:

    Kod: c
    Zaloguj się, aby zobaczyć kod


    Dodano po 28 [minuty]:

    Tak, taka jest składania.
    Zmienna tablica wewnątrz funkcji funkcja() jest wskaźnikiem na zmienną tablica z funkcji main().
    Trochę mylące jest użycie tej samej nazwy w main() i w definicji funkcja(), bo w obu przypadkach zmienna tablica oznacza coś innego.

    Lepiej byłoby może tak:

    Kod: c
    Zaloguj się, aby zobaczyć kod


    *wsk_tab w funkcji funckja() oznacza to samo co tablica w main().

    0
  • #3 18 Sty 2015 09:19
    mpier
    Poziom 16  

    Witam,
    jowyma, najpierw zapytaj (poczytaj) co to są wskaźniki a później dobiero szukaj "problemów". Przy okazji sprawdź co robi malloc i co to jest "napis" w c.

    -1
  • #4 18 Sty 2015 19:50
    jowyma
    Poziom 22  

    Dziękuję za pomoc pierwszego Kolegę, drugi post sugeruje, że niczego nie czytam. Jedno czytać, a drugie rozumieć. Konstruktywną uwagą byłoby polecenie dobrej książki, a nie sugerowanie, że nie czytam. Temat zamykam.

    0