void p(int Xj int *y) |
pamięć | ||
{ |
komputera | ||
x = x+l; | |||
*y = *y+l; |
int |
i-1 |
a ! |
} |
int |
i-1 |
: Język programowania C |
Przekazywanie parametrów | |||
int b; | |||
a = 2; | |||
b = l; | |||
P(aj &b); |
void p(int Xj
{
x = x+l;
*y = *y+l;
}
int *y)
1. w pamięci znajdują się zmienne a i b typu int
int b;
a = 2; b = l; p(a, &b);
int
int
ś
void p(int Xj int *y) |
pamięć |
1. w pamięci znajdują się zmienne a i b typu int | ||
{ |
komputera |
2. pod a podstawiana jest wartość 2 | ||
x = x+l; | ||||
*y = *y+l; > |
int |
1 © 1 |
a | |
int |
b | |||
int b; | ||||
a = 2; | ||||
b = 1; | ||||
p(a, &b); | ||||
pamięć
komputera
1. w pamięci znajdują się zmienne a i b typu int
2. pod a podstawiana jest wartość 2
3. pod b podstawiana jest wartość 1
a
b
1. w pamięci znajdują się zmienne a i b typu int
2. pod a podstawiana jest wartość 2
3. pod b podstawiana jest wartość 1
4. wywoływana jest funkcja p
int *y)
x = x+l; *y = *y+l
} int b;
a = 2; b = l; p(a, &b);
a
b
X
1. w pamięci znajdują się zmienne a i b typu int
2. pod a podstawiana jest wartość 2
3. pod b podstawiana jest wartość 1
4. wywoływana jest funkcja p
5. tworzona jest zmienna lokalna x typu int
x = x+l; *y = *y+l
int b;
a = 2; b = l;
p(aj &b);
int
int
int
int*
; 1. w pamięci znajdują się zmienne a i b typu int
| 2. pod a podstawiana jest wartość 2
! 3. pod b podstawiana jest wartość 1
! 4. wywoływana jest funkcja p
; 5. tworzona jest zmienna lokalna x typu Int
! 6. tworzona jest zmienna lokalna y typu Int*
a ! b :
x = x+l; *y = *y+l
int b;
a = 2; b = l;
p(aj &b);
! 1. w pamięci znajdują się zmienne a i b typu int
! 2. pod a podstawiana jest wartość 2
! 3. pod b podstawiana jest wartość 1
! 4. wywoływana jest funkcja p
| 5. tworzona jest zmienna lokalna x typu int
! 6. tworzona jest zmienna lokalna y typu int*
a | 7. pod x podstawiana jest wartość zmiennej a
b :
X
A
1. w pamięci znajdują się zmienne a i b typu int
2. pod a podstawiana jest wartość 2
3. pod b podstawiana jest wartość 1
4. wywoływana jest funkcja p
5. tworzona jest zmienna lokalna x typu int
6. tworzona jest zmienna lokalna y typu Int*
7. pod x podstawiana jest wartość zmiennej a
8. pod y podstawiany jest adres zmiennej b
x = x+l; *y = *y+l
}
int b;
a = 2; b = l; p(a, &b);
1. w pamięci znajdują się zmienne a i b typu int
2. pod a podstawiana jest wartość 2
3. pod b podstawiana jest wartość 1
4. wywoływana jest funkcja p
5. tworzona jest zmienna lokalna x typu int
6. tworzona jest zmienna lokalna y typu int*
7. pod x podstawiana jest wartość zmiennej a
8. pod y podstawiany jest adres zmiennej b
9. rozpoczyna się wykonywanie funkcji p
1. w pamięci znajdują się zmienne a i b typu int
2. pod a podstawiana jest wartość 2
3. pod b podstawiana jest wartość 1
4. wywoływana jest funkcja p
5. tworzona jest zmienna lokalna x typu Int
6. tworzona jest zmienna lokalna y typu int*
7. pod x podstawiana jest wartość zmiennej a
8. pod y podstawiany jest adres zmiennej b
9. rozpoczyna się wykonywanie funkcji p
10. zwiększa się wartość x o 1
x = x+l; *y = *y+l
int b;
a = 2; b = l; p(a, &b);
1. w pamięci znajdują się zmienne a i b typu int
2. pod a podstawiana jest wartość 2
3. pod b podstawiana jest wartość 1
4. wywoływana jest funkcja p
5. tworzona jest zmienna lokalna x typu Int
6. tworzona jest zmienna lokalna y typu int*
a
b
7. pod x podstawiana jest wartość zmiennej a
8. pod y podstawiany jest adres zmiennej b
9. rozpoczyna się wykonywanie funkcji p
10. zwiększa się wartość x o 1
11. zwiększa się wartość pod adresem pamiętanym w zmiennej y o 1
x
y
x = x+l; *y = *y+l
int b;
a = 2; b = l; p(a, &b);
1. w pamięci znajdują się zmienne a i b typu int
2. pod a podstawiana jest wartość 2
3. pod b podstawiana jest wartość 1
4. wywoływana jest funkcja p
5. tworzona jest zmienna lokalna x typu int
6. tworzona jest zmienna lokalna y typu int*
a
b
7. pod x podstawiana jest wartość zmiennej a
8. pod y podstawiany jest adres zmiennej b
9. rozpoczyna się wykonywanie funkcji p
10. zwiększa się wartość x o 1
11. zwiększa się wartość pod adresem pamiętanym w zmiennej y o 1
12. kończy się wykonanie funkcji p
x
y
void p(int Xj int *y) { x = x+l; *y = *y+l; |
int int |
pamięć komputera |
2 | ||
} | ||
2 | ||
int b; | ||
a = 2; |
int |
3 |
b = 1; | ||
p(a, &b); |
1. w pamięci znajdują się zmienne a i b typu int
2. pod a podstawiana jest wartość 2
3. pod b podstawiana jest wartość 1
4. wywoływana jest funkcja p
5. tworzona jest zmienna lokalna x typu int
6. tworzona jest zmienna lokalna y typu int*
7. pod x podstawiana jest wartość zmiennej a
8. pod y podstawiany jest adres zmiennej b
9. rozpoczyna się wykonywanie funkcji p
10. zwiększa się wartość x o 1
11. zwiększa się wartość pod adresem pamiętanym w zmiennej y o 1
12. kończy się wykonanie funkcji p
13. usuwana jest zmienna lokalna y
x = x+l; *y = *y+l
int b;
a = 2; b = l; p(a, &b);
1. w pamięci znajdują się zmienne a i b typu int
2. pod a podstawiana jest wartość 2
3. pod b podstawiana jest wartość 1
4. wywoływana jest funkcja p
5. tworzona jest zmienna lokalna x typu int
6. tworzona jest zmienna lokalna y typu int*
7. pod x podstawiana jest wartość zmiennej a
8. pod y podstawiany jest adres zmiennej b
9. rozpoczyna się wykonywanie funkcji p
10. zwiększa się wartość x o 1
11. zwiększa się wartość pod adresem pamiętanym w zmiennej y o 1
12. kończy się wykonanie funkcji p
13. usuwana jest zmienna lokalna y
14. usuwana jest zmienna lokalna x
x = x+l; *y = *y+l
int
int
2
2
int b;
a = 2; b = l;
p(aj &b);
| 1. w pamięci znajdują się zmienne a i b typu int
! 2. pod a podstawiana jest wartość 2
i 3. pod b podstawiana jest wartość 1
J 4. wywoływana jest funkcja p J 5. tworzona jest zmienna lokalna x typu Int
J 6. tworzona jest zmienna lokalna y typu int*
a ! 7. pod x podstawiana jest wartość zmiennej a
! 8. pod y podstawiany jest adres zmiennej b
b | 9. rozpoczyna się wykonywanie funkcji p
! 10. zwiększa się wartość x o 1
J 11. zwiększa się wartość pod adresem pamiętanym I w zmiennej y o 1
J 12. kończy się wykonanie funkcji p | 13. usuwana jest zmienna lokalna y
J 14. usuwana jest zmienna lokalna x J 15. sterowanie powraca do miejsca za wywołaniem ! funkcji p
x = x+l; *y = *y+l
int
int
int a, b; a =© b = i; P(a, &b);
J 1. w pamięci znajdują się zmienne a i b typu int ! 2. pod a podstawiana jest wartość 2
! 3. pod b podstawiana jest wartość 1
J 4. wywoływana jest funkcja p J 5. tworzona jest zmienna lokalna x typu int
J 6. tworzona jest zmienna lokalna y typu int*
a ! 7. pod x podstawiana jest wartość zmiennej a
! 8. pod y podstawiany jest adres zmiennej b
b | 9. rozpoczyna się wykonywanie funkcji p
| 10. zwiększa się wartość x o 1
\ 11. zwiększa się wartość pod adresem pamiętanym
! w zmiennej y o 1
! 12. kończy się wykonanie funkcji p
; 13. usuwana jest zmienna lokalna y
; 14. usuwana jest zmienna lokalna x
; 15. sterowanie powraca do miejsca za wywołaniem
! funkcji p
! 16. zmienna a nie zmieniła wartości
x = x+l; *y = *y+l
int b;
P(aj &b);
int
int
! 1. w pamięci znajdują się zmienne a i b typu int
! 2. pod a podstawiana jest wartość 2
J 3. pod b podstawiana jest wartość 1
| 4. wywoływana jest funkcja p
I 5. tworzona jest zmienna lokalna x typu Int
J 6. tworzona jest zmienna lokalna y typu int*
a ! 7. pod x podstawiana jest wartość zmiennej a
! 8. pod y podstawiany jest adres zmiennej b
b | 9. rozpoczyna się wykonywanie funkcji p
; 10. zwiększa się wartość x o 1
! 11. zwiększa się wartość pod adresem pamiętanym
J w zmiennej y o 1
J 12. kończy się wykonanie funkcji p J 13. usuwana jest zmienna lokalna y J 14. usuwana jest zmienna lokalna x J 15. sterowanie powraca do miejsca za wywołaniem J funkcji p
J 16. zmienna a nie zmieniła wartości ! 17. zmienna b zmieniła wartość z 1 na 2