01: // passaggio argomenti per indirizzo
02: #include<stdio.h>
03: #include<stdlib.h>
04: 
05: void incrementadidue(int *a) // sto passando un puntatore, quindi un indirizzo
06: {
07:   *a = *a + 2; // tramite l'operatore * accedo al dato presente a quell'indirizzo di memoria ovvero al dato puntato
08: 
09:   return; 
10: }
11: 
12: 
13: int main(int argc, char **argv){
14: 
15:   int i, x;
16: 
17:   for(i=1, x=1; i<10; i++)
18:   {
19:     incrementadidue(&x); // devo passare l'indirizzo della variabile che posso ottenere con l'operatore &
20: 
21:     printf("Al giro #%d, x vale %d\n", i, x);
22:   }
23: 
24:   // incrementadidue(10);  questo non posso farlo...
25: 
26:   return 0;
27: }
28: 
29: /*
30: OUTPUT:
31: 
32: Al giro #1, x vale 3
33: Al giro #2, x vale 5
34: Al giro #3, x vale 7
35: Al giro #4, x vale 9
36: Al giro #5, x vale 11
37: Al giro #6, x vale 13
38: Al giro #7, x vale 15
39: Al giro #8, x vale 17
40: Al giro #9, x vale 19
41: 
42: */
43: 


Se avete commenti o osservaƶioni su questa pagina
mandate un messaggio di posta elettronica a bertoƶƶi@ce.unipr.it