Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Elektroda.pl
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

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

jowyma 18 Jan 2015 01:38 756 3
  • #1
    jowyma
    Level 23  
    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
    Code: cpp
    Log in, to see the code


    czy
    wariant B:
    Code: cpp
    Log in, to see the code


    Nie wiem też jak potem wywoływać zewnętrzną funkcję
    Code: cpp
    Log in, to see the code
  • Helpful post
    #2
    wondurbm
    Level 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:

    Code: c
    Log in, to see the code


    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:

    Code: c
    Log in, to see the code


    *wsk_tab w funkcji funckja() oznacza to samo co tablica w main().
  • #3
    mpier
    Level 27  
    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.
  • #4
    jowyma
    Level 23  
    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.