01: // operatore &
02: #include<stdio.h>
03: #include<stdlib.h>
04:
05: int a;
06:
07: int main(int argc, char **argv){
08: int b;
09: char c;
10: float d;
11: double e[100];
12:
13: printf("Gli indirizzi in memoria delle variabili sono:\n");
14:
15: printf(" a si trova in %p (%ld byte)\n", &a, sizeof(a)); // l'operatore & restituisce l'indirizzo di una variabile, %p e' lo specificatore previsto per gli indirizzi
16: printf(" b si trova in %p (%ld byte)\n", &b, sizeof(b));
17: printf(" c si trova in %p (%ld byte)\n", &c, sizeof(c));
18: printf(" d si trova in %p (%ld byte)\n", &d, sizeof(d));
19: printf(" e si trova in %p (%ld byte)\n", e, sizeof(e)); // si noti come per gli array non occorre usare &
20: printf(" e[0] si trova in %p (%ld byte)\n", &e[0], sizeof(e[0]));
21:
22:
23:
24: return 0;
25: }
26:
27: /* ESEMPIO ESECUZIONE
28:
29: a si trova in 0x55cfcfe69014 (4 byte)
30: b si trova in 0x7ffe63b22ee8 (4 byte)
31: c si trova in 0x7ffe63b22ee7 (1 byte)
32: d si trova in 0x7ffe63b22eec (4 byte)
33: e si trova in 0x7ffe63b22ef0 (800 byte)
34: e[0] si trova in 0x7ffe63b22ef0 (8 byte)
35:
36:
37: Curioso come l'indirizzo di a sia cosi' differente...
38: */
39:
40:
41:
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