01: // esempio lingering pointer
02: // lingering -> remaining present although waning or gradually dying
03: #include<stdio.h>
04: #include<stdlib.h>
05: 
06: 
07: // questa funzione crea solo l'array leggendo da tastiera
08: int *legginumerierestituisci(unsigned int quanti) 
09: {
10:   int myarr[quanti]; // uso VLA
11:   
12:   // leggo i numeri
13:   for(int i=0; i<quanti; ++i)
14:   {
15:     printf("Inserisci numero intero: ");
16:     scanf("%d", &myarr[i]);
17:   }
18: 
19:   // restituisco indirizzo di dove si trovano
20:   return myarr; // termina la funzione. Variabili locali come myarr vengono DISTRUTTE
21: }
22: 
23: 
24: int main(int argc, char **argv){
25: 
26:   unsigned int n;
27: 
28:   printf("Quanti interi vuoi leggere da tastiera? ");
29:   scanf("%u", &n);
30: 
31:   int *numbers = legginumerierestituisci(n);
32: 
33:   printf("Da tastiera e' stato immesso: \n");
34:   for(int i=0; i<n; ++i)
35:     printf("%2d: %d\n", i, numbers[i]);
36:     
37:   return 0;
38: }
39: 
40: 


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