• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Funkcja i zmiana wartości zmiennej

Object Storage Arubacloud
0 głosów
3,487 wizyt
pytanie zadane 9 września 2015 w C i C++ przez matjukey Nowicjusz (220 p.)

#include<stdio.h>
int a;
void qq (int b) {
    b=5;
a = b;
}
int main () {
a = 2;
qq(a);
printf("\n a == %i\n\n", a);
return 0;
}

Mój problem polega na tym, że zastanawiam się po co używać wskaźników  do zmiany wartości argumentów funkcji skoro można zrobić tak jak tutaj. Ciekawi mnie to dlaczego w funkcji zmienia się zmienna a. Czytałem, że operujemy tam na kopiach zmiennych, stąd moje zdziwienie. Czy mógłby mi któs wytłumaczyć dlaczego tak się dzieję?

2 odpowiedzi

+1 głos
odpowiedź 9 września 2015 przez Rogargol Pasjonat (16,600 p.)

O ile dobrze rozumiem, chcesz wiedziec dlaczego uzywa sie wskaznikow, zamiast zrobic tak jak Ty?

Sprobuj do swojej funkcji wyslac inna zmienna np niech to bedzie zmienna c. Twoja funkcja w tym przypadku nie zadziala, bo i tak zmieni wartosc zmiennej a. Musialbys zrobic kolejna funkcje i tak dla kazdej nowej zmiennej. Nie mowiac juz o fakcie ze takie zmienne musza miec zasieg globalny zeby mozna wewnatrz wywolywanej funkcji zmieniac ich wartosc. Tymczasem tworzac funkcje:

qq(int *b)
{
b=5;
}

zmienimy wartosc kazdej wyslanej zmiennej typu int.

Rozumiesz mniej wiecej o co chodzi?

komentarz 9 września 2015 przez matjukey Nowicjusz (220 p.)

Tak zrozumiałem błąd w moim rozumowaniu smiley Jest późna pora, dlatego może miałem problem z tak banalnym przykładem. Dziękuję za pomoc.

0 głosów
odpowiedź 9 września 2015 przez Dorion300 Szeryf (90,250 p.)
Po nadpisujesz zmienne globalną. Wstaw tego inta w main i juz nie będziesz zdziwiony...

Podobne pytania

+1 głos
3 odpowiedzi 521 wizyt
pytanie zadane 18 maja 2021 w C# przez disaster Bywalec (2,120 p.)
0 głosów
1 odpowiedź 144 wizyt
pytanie zadane 21 marca 2020 w PHP przez Hardwell Dyskutant (8,980 p.)
0 głosów
2 odpowiedzi 170 wizyt

92,576 zapytań

141,426 odpowiedzi

319,652 komentarzy

61,961 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...