Ciao,
non vorrei iniziare a sparare cavolate e spero che qualchedel forum possa smentirmi subito nel caso mi sbaglio:
1) sizeof() non è una funzione di libreria ma un'operatore del linguaggio, quindi intrinseco al compilatore. Quando compili un codice con una chiamata del tipo:
il compilatore si comporta come se tu avessi scritto (per comprenderci): "sizeof(int *)*10".codice:int array[10]; sizeof(array)
Questo non accade se invece array fosse un int*.
2) l'allocazione dinamica presuppone che tu abbia fatto una malloc (o simile)...ma, qualsiasi funzione tu abbia usato per allocare, devi aver specificato la dimensione dell'array (con una cosa del tipo: malloc(10*sizeof(int))! Quindi...a cosa ti serve usare sizeof() per ricavare la dimensione?
3) Non credo che questo sia corretto (anche se non comporta errori di compilazione...almeno sul tuo compilatore):
A cosa servirebbe l'allocazione dinamica se fosse possibile fare una cosa del genere?codice:scanf("%d", &dim); int testArray[dim];

del forum possa smentirmi subito nel caso mi sbaglio:
):
Rispondi quotando