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

Nazewnictwo w temacie "funkcje" - pytanie formalne

Ostatnio zmodyfikowano 2010-09-26 02:49
Autor Wiadomość
marek
Temat założony przez niniejszego użytkownika
Nazewnictwo w temacie "funkcje" - pytanie formalne
» 2010-09-25 19:52:31
Jest program z funkcją
C/C++
#include <iostream>
int dodaj_1( int );
int main()
{
    int x = 5;
    x = dodaj_1( x );
    std::cout << x << "\n";
    return 0;
}
int dodaj_1( int tym_x )
{
    tym_x = tym_x + 1;
    return tym_x;
}
Wg. mnie wyrażenie
int dodaj_1( int )
 jest tzw. deklaracją funkcji
Samo
dodaj_1( x )
 jest funkcją.
A jak poprawnie nazywa się samo
int dodaj_1( int tym_x )
 będące pierwszym wyrażeniem definicji funkcji?

P-22370
kamillo121
» 2010-09-25 20:16:30
warto się zaznajomić z "extern" :) 
Pierwsze to deklaracja a potem definicja(z ciałem funkcji)
samo "dodaj_1( x )" to przecież wywołanie więc nie bardzo kumam o co Ci chodzi :)
P-22371
marek
Temat założony przez niniejszego użytkownika
» 2010-09-25 20:29:27
Ale powstałby wtedy taki dziwoląg logiczny
dodaj_1( x )
 jest wywołaniem funkcji
dodaj_1( x )


Co do definicji funkcji, to wiem że to
C/C++
int dodaj_1( int tym_x )
{
    tym_x = tym_x + 1;
    return tym_x;
}
nazywa się definicją funkcji


A jak się nazywa samo to
int dodaj_1( int tym_x )
 bez reszty?
P-22372
kamillo121
» 2010-09-25 20:53:13
Jaki dziwoląg, normalnie 

dodaj_1( x )
 to wywołanie funkcji
int dodaj_1( int tym_x )
.

int dodaj_1( int tym_x );
 <-- deklaracja
P-22373
marek
Temat założony przez niniejszego użytkownika
» 2010-09-25 21:02:52
Zauważ,że
int dodaj_1( int tym_x )
 raz nazwałeś funkcją a raz deklaracją funkcji.
To czym w końcu to jest?

Wiem, że to dyskusja typu "ile diabłów zmieści się na łebku od szpilki?", ale staram się  napisać coś w rodzaju artykułu i brakuje mi słownictwa.

Nic nie zmieniłem tylko testowałem ten edytor.
 


P-22375
kamillo121
» 2010-09-25 21:06:22
C/C++
#include <iostream>

int foo( int x ); //TO JEST DEKLARACJA FUNKCJI "foo", informacja o istnieniu owej funkcji


int main()
{
   
    std::cout << foo( 20 ); //TO JEST WYWOŁANIE FUNKCJI "foo"
   
   
    return 0;
}


int foo( int x ) //TO JEST DEFINICJA FUNKCJI "foo", dostarczenie ciała funkcji 
{
    return x * x * x;
}


Jasne teraz?


/edit
w skrócie,
foo( 20 )
 jest wywołaniem funkcji
int foo( int x );

C/C++
int foo( int x ); //deklaracja
int foo( int x ) //definicja
{
}

foo( 20 ); //wywołanie funkcji  int foo(int x);
P-22376
ison
» 2010-09-25 21:16:19
@up chyba nie o to mu chodziło

w tym miejscu:
C/C++
int foo( int x )
{
    return x * x * x;
}

ta linijka:
C/C++
int foo( int x )

nie wiem czy to ma w ogóle jakąkolwiek nazwę.
Jest to zwyczajnie ciąg znaków opisujący nazwę, typ zwracanej wartości funkcji oraz jej argumenty
P-22377
marek
Temat założony przez niniejszego użytkownika
» 2010-09-25 21:29:18
Staram się to dopasować do logiki i powiedziałbym tak.

Samo
int foo( int x )
 jest deklaracją i w skrócie myślowym funkcją

Całość
C/C++
int foo( int x )
{
}
jest definicją funkcji

Wtedy to miałoby sens-> foo( 20 ); //wywołanie funkcji  int foo(int x);

Dzięki. Nie do końca, ale trochę się rozjaśniło.

Inna sprawa, że porządni ludzie w sobotę wieczorem żłopią piwo, jedzą chipsy i siedzą przed telewizorem. Poprawcie się.

P-22378
« 1 » 2
  Strona 1 z 2 Następna strona