Strona 1 z 1

[solved]Funkcje w c

: 19 kwie 2008, 21:58
autor: lukasz6547
Czytam kurs ale nie rozumiem deklaracji funkcjii:
int func(własnie nie rozumiem tego co sie daje w te nawiasy i jak sie do tego odnosi i skąd je bioree)
{
cos tam;
cos tam
return cos tam do main;
}
o co chodzi z tymi deklaracjami??

Odp: Funkcje w c

: 19 kwie 2008, 23:04
autor: ziemniak
int - typ liczbowy liczby całkowite około (-32k,32)
int na początku oznacza, że funkcja ma zwracać coś typu int
w nawiasach podajemy sobie argumenty jakie funkcja pobiera.
Napiszę tobie przykładowy program

Kod: Zaznacz cały

int dodaj (int x, int y) {
     return x+y;
}
int main (){
     printf("%d",dodaj(5,2);
}
Na ekranie pojawi się 7.

Odp: Funkcje w c

: 20 kwie 2008, 00:26
autor: adrian5632
int - typ liczbowy liczby całkowite około (-32k,32)
int na początku oznacza, że funkcja ma zwracać coś typu int
w nawiasach podajemy sobie argumenty jakie funkcja pobiera.
Napiszę tobie przykładowy program
Kod:

Kod: Zaznacz cały

int dodaj (int x, int y) {
     return x+y;
}
int main (){
     printf("%d",dodaj(5,2);
}
Na ekranie pojawi się 7.
Oj nie pojawi :P Nawiasu nie zamknąłeś (tego od printf) i poza tym znaku nowej linii nie dałeś :P
Warto jeszcze wspomnieć, że za "%d" program podstawi wartość liczby z kolejnego argumentu.

Kod: Zaznacz cały

#include <stdio.h>

int dodaj( int x, int y )
{
     return x + y;
}
int main()
{
     printf( "%d\n", dodaj(5,2) );
}

Odp: Funkcje w c

: 20 kwie 2008, 12:51
autor: lukasz6547
Ale dokładnie to co jest nawiasach opiszcie,reszte to rozumiem...skąd te zmienne biore co wpisuje w nawiasy, czy one są z main skąd???...z góry dzieki

Odp: Funkcje w c

: 20 kwie 2008, 13:28
autor: tomchito
Są to argumenty przekazywane do funkcji. Czyli jak w powyższym przykładzie w funkcji main wywoływana jest funkcja dodaj(5,2), to przesyłanymi argumentami są 5 i 2. Zatem w momencie gdy program zaczyna wykonywać funkcję dodaj to podstawia sobie:
x=5
y=2
i wykonuje to co jest wewnątrz funkcji - w tym przypadku zwraca sumę tych dwóch liczb.

Odp: Funkcje w c

: 20 kwie 2008, 13:50
autor: lukasz6547
To wiec własciwie nie jest to tak bardzo potrzebne bo przeciez mozna to wszystko zrobic w mainie, co nie??...zalezy wszystko od upodoban...

Odp: [solved]Funkcje w c

: 20 kwie 2008, 14:15
autor: tomchito
W przypadku dodawania nie jest potrzebne, ale to był tylko prosty przykład. Możesz sobie napisać funkcję wykonującą bardziej złożone obliczenia. Później w programie wywołujesz jedynie swoją funkcję tyle razy ile chcesz podając jej nazwę (wraz z ewentualnymi parametrami), a nie wykonujesz za każdym razem wszystkich tych obliczeń w main-ie.

Odp: [solved]Funkcje w c

: 20 kwie 2008, 15:13
autor: lukasz6547
ale na razie i tak nie bede pisał skomplikowanych programow, juz sobie załatwiam algorytmy jakies, ale sie zajme tym dopiero po trestach:)

Odp: [solved]Funkcje w c

: 20 kwie 2008, 20:16
autor: px33
Funkcje (ale lepiej klasy) się przydają, jeśli piszesz wiele projektów, które zawierają trochę identycznego kodu - pakuje się go wtedy w funkcję i do pliku nagłówkowego, który można potem dołączyć do projektów (

Kod: Zaznacz cały

#include plik.h
). Np. jeśli piszesz gry 3d w OpenGL może ci się przydać klasa, która inicjalizuje ekran i wczytuje obiekty z plików 3ds.

Odp: [solved]Funkcje w c

: 02 paź 2010, 19:43
autor: pixelenter
px33, muszę ciebie uświadomić że w C nie ma klas. C to nie c++.

Odp: [solved]Funkcje w c

: 02 paź 2010, 20:20
autor: beluosus
@pixelenter: muszę Cię uświadomić, że wykopujesz wątki sprzed ponad dwóch lat.

Odp: [solved]Funkcje w c

: 02 paź 2010, 20:34
autor: pixelenter
Oj sorry... nie zauważyłem