eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programming › pryszcze...
Ilość wypowiedzi w tym wątku: 82

  • 1. Data: 2014-01-13 14:28:18
    Temat: pryszcze...
    Od: "inny punkt siedzenia..." <N...@g...pl>

    jak zdefiniować wskaźnik do funkcji w C/C++?

    co to jest:
    int *funkcja(int param1)

    co to jest to:
    int **funkcja(int param1)

    no i jak tego użyć w programie, też z ******?


  • 2. Data: 2014-01-13 14:48:48
    Temat: Re: pryszcze...
    Od: g...@g...com

    Juz ktos chyba kiedys na to odpowiedzial:
    http://pl.cpp.wikia.com/wiki/FAQ#Typ_wska.C5.BAnika_
    na_funkcj.C4.99.2Ftyp_wska.C5.BAnika_na_metod.C4.99_
    i_u.C5.BCycie


  • 3. Data: 2014-01-13 14:52:35
    Temat: Re: pryszcze...
    Od: g...@g...com

    W dniu poniedziałek, 13 stycznia 2014 14:28:18 UTC+1 użytkownik inny punkt
    siedzenia... napisał:
    > jak zdefiniowa� wska�nik do funkcji w C/C++?

    int (*fp)(int), jezeli funkcja ma pobierac inta i zwracac inta

    > co to jest:
    >
    > int *funkcja(int param1)

    funkcja ktora pobiera inta i zwraca wskaznik na inta

    > co to jest to:
    >
    > int **funkcja(int param1)

    funkcja ktora pobiera inta i zwraca wskaznik na wskaznik na inta

    > no i jak tego u�y� w programie, te� z ******?

    funkcje wywolujesz normalnie (tzn. bez *****). na typ wyniku musisz
    zwracac uwage tylko jesli chcesz go przypisac do jakiejs innej zmiennej
    -- wowczas w pierwszym przypadku musialaby to byc zmienna typu int *,
    a w drugim -- typu int **.


  • 4. Data: 2014-01-13 14:57:00
    Temat: Re: pryszcze...
    Od: "inny punkt siedzenia..." <N...@g...pl>

    no ale nie rozumiem, te wywołania to wskaźniki na inta, a jak zrobić żeby
    funkcja była wskaźnikiem, trochę nie czaję tej zagadki...



  • 5. Data: 2014-01-13 15:01:25
    Temat: Re: pryszcze...
    Od: g...@g...com

    W dniu poniedziałek, 13 stycznia 2014 14:57:00 UTC+1 użytkownik inny punkt
    siedzenia... napisał:
    > no ale nie rozumiem, te wywo�ania to wska�niki na inta, a jak zrobi� �eby
    > funkcja by�a wska�nikiem, troch� nie czaj� tej zagadki...

    Funkcja nie moze byc wskaznikiem. Funkcja to funkcja, a wskaznik
    to wskaznik.

    Wezmy cos takiego:

    int f(int n) { return n + n; }
    int g(int n) { return n * n; }

    int main() {
    int (*fp)(int);
    fp = f;
    printf("%d\n", fp(5)); // wypisze 10
    fp = g;
    printf("%d\n", fp(5)); // wypisze 25
    return 0;
    }


  • 6. Data: 2014-01-13 15:18:44
    Temat: Re: pryszcze...
    Od: "inny punkt siedzenia..." <N...@g...pl>

    o dzięki, dobry edukacyjni przykład,
    int (*fp)(int);

    ale tego nie rozumiem, co to jest deklaracja?


  • 7. Data: 2014-01-13 15:38:51
    Temat: Re: pryszcze...
    Od: g...@g...com

    W dniu poniedziałek, 13 stycznia 2014 15:18:44 UTC+1 użytkownik inny punkt
    siedzenia... napisał:
    > o dzi�ki, dobry edukacyjni przyk�ad,
    >
    > int (*fp)(int);
    >
    > ale tego nie rozumiem, co to jest deklaracja?

    Deklaracja to ustalenie dla danej zmiennej albo funkcji
    jej typu.
    Ogromna zaleta i jednoczesnie wada jezyka C jest
    tak zwany statyczny system typow, w ktorym typy sa
    zwiazane ze zmiennymi (a nie -- jak to ma miejsce
    w jezykach dynamicznych w rodzaju Pythona, PHP,
    JavaScriptu, Ruby'ego czy wielu dialektow Lispa
    -- wartosciami).

    Przed przypisaniem zmiennej wartosci trzeba
    okreslic, jakiego typu wartosci dana zmienna
    bedzie mogla przechowywac. Na tej podstawie
    kompilator moze wywnioskowac, jakie rzeczy
    mozna z owa zmienna robic. Na przyklad, poniewaz
    liczb calkowitych nie mozna wywolywac, jezeli
    zadeklarujesz zmienna z jako int,

    int z;

    to jesli potem (w kontekscie uzycia tej zmiennej)
    bedziesz chcial napisac z(5), to kompilator bedzie
    mial do Ciebie (calkiem sluszne) pretensje, ze tak
    nie wolno.

    W kazdym razie, jesli nie wiesz, co to jest deklaracja,
    a chcesz programowac w C, to koniecznie przeczytaj
    ksiazke Briana Kernighana i Dennisa Ritchie
    pt. "Jezyk ANSI C".


  • 8. Data: 2014-01-13 15:46:06
    Temat: Re: pryszcze...
    Od: A.L. <a...@a...com>

    On Mon, 13 Jan 2014 06:38:51 -0800 (PST), g...@g...com
    wrote:

    >W dniu poniedziałek, 13 stycznia 2014 15:18:44 UTC+1 użytkownik inny punkt
    siedzenia... napisał:
    >> o dzi�ki, dobry edukacyjni przyk�ad,
    >>
    >> int (*fp)(int);
    >>
    >> ale tego nie rozumiem, co to jest deklaracja?
    >
    >Deklaracja to ustalenie dla danej zmiennej albo funkcji
    >jej typu.
    >Ogromna zaleta i jednoczesnie wada jezyka C jest
    >tak zwany statyczny system typow,

    To nie WADA, to ZALETA. Systemy z dynamicznymi typami nadaja sie co
    najwyzej do pisania programow studenckich

    A.L.


  • 9. Data: 2014-01-13 16:19:37
    Temat: Re: pryszcze...
    Od: g...@g...com

    W dniu poniedziałek, 13 stycznia 2014 15:46:06 UTC+1 użytkownik A. L. napisał:
    > On Mon, 13 Jan 2014 06:38:51 -0800 (PST), g...@g...com
    > wrote:
    [...]
    > >Ogromna zaleta i jednoczesnie wada jezyka C jest
    > >tak zwany statyczny system typow,
    >
    > To nie WADA, to ZALETA. Systemy z dynamicznymi typami nadaja sie co
    > najwyzej do pisania programow studenckich

    Statyczna kontrola typow ma taka zalete, ze zwieksza
    niezawodnosc oprogramowania i pozwala uniknac calej klasy
    bledow, ktore w innym razie moga zamanifestowac sie dopiero
    wtedy, kiedy zostanie wykonana bledna sciezka w programie
    (co czasem moze sie zdarzyc na dlugo po umieszczeniu go na
    produkcji)

    Ma jednak taka wade, ze utrudnia pisanie kodu generycznego
    (a rozwiazanie oferowane przez C++ wyglada na ponury dowcip)
    i generalnie czesto wymaga pisania wiecej, niz to potrzebne.

    Wspolczesnie uzycie jezykow z dynamicznym typowaniem
    zdecydowanie dominuje, i to nie tylko w programach
    studenckich, ale np. w zdecydowanej wiekszosci projektow
    webowych (ktore zazwyczaj tworzy sie w PHP, Pythonie
    albo Rubym) albo w wielu projektach naukowych (do ktorych
    stosuje sie np. Matlab). Nie wspominajac np. o licznych
    skryptach, konwerterach i ekstraktorach, ktore sie zazwyczaj
    pisze w perlu, awku czy skryptach powloki.

    Mysle, ze gdyby w projektach tego rodzaju system typow
    naprawde dawal tak wielkie korzysci, to by go tak latwo
    nie zmarginalizowano.


  • 10. Data: 2014-01-13 17:30:26
    Temat: Re: pryszcze...
    Od: "Stachu 'Dozzie' K." <d...@g...eat.some.screws.spammer.invalid>

    On 2014-01-13, g...@g...com <g...@g...com> wrote:
    > W dniu poniedziałek, 13 stycznia 2014 15:46:06 UTC+1 użytkownik A. L. napisał:
    >> On Mon, 13 Jan 2014 06:38:51 -0800 (PST), g...@g...com
    >> wrote:
    > [...]
    >> >Ogromna zaleta i jednoczesnie wada jezyka C jest
    >> >tak zwany statyczny system typow,
    >>
    >> To nie WADA, to ZALETA. Systemy z dynamicznymi typami nadaja sie co
    >> najwyzej do pisania programow studenckich
    >
    > Statyczna kontrola typow ma taka zalete, ze zwieksza
    > niezawodnosc oprogramowania i pozwala uniknac calej klasy
    > bledow, ktore w innym razie moga zamanifestowac sie dopiero
    > wtedy, kiedy zostanie wykonana bledna sciezka w programie
    > (co czasem moze sie zdarzyc na dlugo po umieszczeniu go na
    > produkcji)
    >
    > Ma jednak taka wade, ze utrudnia pisanie kodu generycznego
    > (a rozwiazanie oferowane przez C++ wyglada na ponury dowcip)
    > i generalnie czesto wymaga pisania wiecej, niz to potrzebne.

    Widać z daleka, że nie oglądałeś na oczy SML-a, Haskella ani Erlangowego
    Dialyzera.

    No i nie wiem jak w twój kod, ale mój często pracuje na złożonych
    strukturach danych. Deklaracje typów dają mi -- nawet jeśli nic poza
    tym -- systematyczną dokumentację co która funkcja przyjmuje i co
    zwraca.

    > Wspolczesnie uzycie jezykow z dynamicznym typowaniem
    > zdecydowanie dominuje
    [...]
    > Mysle, ze gdyby w projektach tego rodzaju system typow
    > naprawde dawal tak wielkie korzysci, to by go tak latwo
    > nie zmarginalizowano.

    Bo najpierw trzeba umieć korzystać z systemu typów. Zgadnij, dlaczego do
    Erlanga, języka z dynamicznym systemem typów, w toku ewolucji *dodano*
    elementy pozwalające na deklarowanie i dedukcję typów?

    I dodatkowo: http://ro-che.info/ccc/17

    --
    Secunia non olet.
    Stanislaw Klekot

strony : [ 1 ] . 2 ... 9


Szukaj w grupach

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: