01: // heap, stack, code & data...
02: #include<stdio.h>
03: #include<stdlib.h>
04: 
05: int global_int_var;
06: 
07: int main(int argc, char **argv){
08: 
09:   int local_int_var;
10:   int n;
11: 
12:   printf("Inserisci un numero intero positivo: ");
13:   scanf("%d", &n);
14: 
15:   int local_int_vla[n];   
16:   int *local_int_malloc = malloc(n*sizeof(int));
17: 
18:   printf("Indirizzo della variabile locale            %p\n", &local_int_var);
19:   printf("Indirizzo del VLA                           %p\n", local_int_vla);
20:   printf("Indirizzo restituito da malloc()            %p\n", local_int_malloc);
21:   printf("Indirizzo della variabile globale           %p\n", &global_int_var);
22:   printf("Indirizzo della main()                      %p\n", main);   // anticipazione, nome della funzione senza le () e' indirizzo della funzione in memoria
23: 
24:   return 0;
25: }
26: /*
27: 
28: Inserisci un numero intero positivo: 200
29: Indirizzo della variabile locale            0x7ffc31dbe818
30: Indirizzo del VLA                           0x7ffc31dbe4e0
31: Indirizzo restituito da malloc()            0x55d555b7aac0
32: Indirizzo della variabile globale           0x55d554cc5014
33: Indirizzo della main()                      0x55d554cc21a9
34: 
35: */
36: 


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