Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

To w końcu definicja, czy deklaracja?

Ostatnio zmodyfikowano 2015-07-21 22:55
Autor Wiadomość
r.pszczolkowski
Temat założony przez niniejszego użytkownika
To w końcu definicja, czy deklaracja?
» 2015-07-21 22:23:48
Cześć, mam problem. Każde źródło podaje inne jego rozwiązanie. Mianowicie nie znam definicji definicji ani deklaracji. Uczę się z książki Jerzego Grębosza, gdzie wyrażenie int x; podaje jako definicję obiektu, natomiast w internecie widnieje informacja, że do deklaracja. Możecie pomóc mi rozwiązać wszelkie wątpliwości raz na zawsze, tak, bym nie musiał dawać pożywki tym, którzy już to umieją, myląc się w którymś z tematów? Chciałbym prosić o łopatologiczne wyjaśnienie mi deklaracji i definicji, oraz kilka ich prostych przykładów. Z góry dziękuję za pomoc :)
P-135051
carlosmay
» 2015-07-21 22:49:07
Deklaracja określa zmienną, obiekt, funkcję.
np.
C/C++
int x; // deklaracje
float y;

void funkcja( int, int );

Definicja jest wtedy gdy od razu nadajesz wartość zmiennej
lub nadajesz ciało funkcji.

C/C++
int x = 10; // definicje
float y = 4;

viod funkcja( int x, int y )
{
    using std::cout;
    using std::endl;
    cout << x << ", " << y << endl;
}

C/C++
int x; //deklaracja
x = 10; //inicjalizacja
int y = 5; // definicja = deklaracja + inicjalizacja

@up. sam zapędziłem się trochę i pomieszałem, teraz powinno być ok.
P-135053
r.pszczolkowski
Temat założony przez niniejszego użytkownika
» 2015-07-21 22:54:40
Kurczę, dziesiątki przeczytanych stron, setki przewróceń stron w książce, a wystarczyło to opisać tak, jak Ty to zrobiłeś. Dzięki Ci wielkie, już nic nie będzie mi spędzać snu z powiek :P
P-135056
Monika90
» 2015-07-21 22:55:20
Każda definicja jest również deklaracją, ale nie każda deklaracja jest definicją. Kilka przykładów

C/C++
void f(); //deklaracja funkcji

void f() { } //deklaracja i definicja funkcji

extern int x; //deklaracja zmiennej globalnej

int x; //deklaracja i definicja zmiennej globalnej

class X; //deklaracja klasy

class X { }; //deklaracja i definicja klasy
P-135057
« 1 »
  Strona 1 z 1