Wpis z mikrobloga

mirki mam problem... Nie chce uzywac zmiennej golbalnej i mam dwie funkcje. W pierwszej deklaruje wartosc X, a w drugiej funkcji chce ja zmniejszac i ja modyfikowac. Wiem ze trzeba uzyc wskaznikow, ale do konca nie wiem jak to zrobic, czy one maja wejsc na wejscie do funkcji?
np.
funkcja1(){
int gwiazdka a
}
funkcja2(gwiazdka a){
a--;
}
#programowanie #naukaprogramowania
  • 7
@TheNewIcek: jezyk C. Po prostu mam funkcje graj() w ktorej licze tylko raz ile diamentow znajduje sie na planszy gry ktora jest tablica. W tej funkcji graj mam umiejscowina funkcje ruch() w ktorej chcialbym zmieniac wartosc diamentow po prostu gdy gracz je zbierze. Stad jak moge manipulowac zmienna diamenty w funkcji ruch gdy zadeklarowalem ja w graj()
Stad jak moge manipulowac zmienna diamenty w funkcji ruch gdy zadeklarowalem ja w graj()


@hawking300: Prosta odpowiedź: nie możesz:)

Jeśli Twoja gra działa na jednym wątku to masz pewnie jakąś funkcję main(), w której wszystko się zaczyna. W tej funkcji zadeklaruj sobie ten licznik diamentów, a funkcji ruch() przekazuj wskaźnik do tego licznika. Czyli zrób coś takiego:

void ruch(int* licznik);
Od teraz funkcja ruch bierze jako argument wskazanie na jakąś liczbę
@-PPP-: dobra poczytalem troche skryptu na internecie i to zrobilem. Po prostu tak:

graj(){
int ileDiamentow;
ruch(&ileDiamentow);
}

ruch(*ileDiamentow){
*ileDiamentow--;
}

ok w sumie to samo co napisales :D i tak wielkie dziekiz za pomoc wlasnie o to mi chodzilo