Witam, mam pytanie odnośnie modyfikowania zmiennych lokalnych funkcji w pętli.
Załóżmy, że zmienna przekazywana do funkcji ma wartość 5. Przykładowy kod:
void function(int integer){
// ...
while (...){
// ...
--integer;
printf("integer = %d", integer); //za każdym razem wyświetla integer = 4
}
}
oraz
void function(int integer){
// ...
int reinteger = integer;
while (...){
// ...
--reinteger;
printf("integer = %d", integer); //za każdym razem, przechodząc pętle, wyświetla liczbę o 1 mniejszą od reinteger
}
}
Pytanie brzmi: dlaczego tak się dzieje? Czym się różni działanie na zwykłej zmiennej lokalnej (reinteger) od działania na kopii argumentu (integer)?
Pozdrawiam.