/* Come dipende la grandezza del programma IN ESECUZIONE dalla dimensione del vettore? => eseguire il programma e, mentre è in attesa di ricevere un input con scanf() andare a controllare la RAM occupata ---> vedi istruzioni sotto */ #include int main() { int n = 100; printf("n = %d\n", n); // creiamo un vettore di interi int vi[n]; printf("Lunghezza del vettore (bytes) %d\n", (int) sizeof(vi)); printf("Nr di elementi del vettore: %d\n", (int) sizeof(vi) / (int) sizeof(int) ); int dummy; printf("Dai un numero per continuare "); scanf("%d", &dummy); return 0; } /* per controllare sotto _Linux_lo spazio occupato in memoria: - da un'altro terminale dare il comando di Linux "ps -a" e vedere la linea del risultato che contiene il nome dell'eseguibile, ad esempio (con le intestazioni) PID TTY TIME CMD ....... ..... ...... 5175 pts/3 00:00:00 vettori_09 - 5175 è il numero identificativo del nostro processo ('PID') che _cambia_di_volta_in_volta_ (!) - Eseguire poi il comando "grep -A 1 stack /proc/5175/smaps" usando il PID appropriato -> Come risultato si ottiene, insieme ad altre informazione la memoria occupata ('Size') */