View Single Post
Old 10-10-2007, 18:52   #2
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
intendi come fa a fare una cosa del genere?
Codice:
void f(unsigned int n) {
	int a[n];
	// ...
}
non mi sembra ci voglia molto: solitamente lo stack è un'area di memoria che cresce verso indirizzi più bassi, quindi è sufficiente sottrarre allo stack pointer il valore di n moltiplicato per sizeof(int). naturalmente non è detto che sia sempre possibile allocare n locazioni; non so cosa accada se a quella funzione f viene passato un valore di n troppo grande.
71104 è offline   Rispondi citando il messaggio o parte di esso