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
mandate un messaggio di posta elettronica a bertoƶƶi@ce.unipr.it