1) La prima for utilizza la variabile b senza che questa sia mai modificata
hai ragione, corretto.
2) Non hai tenuto conto di quanto ti ha detto prima MItaly sul fatto che hai allocato spazio per una sola int e ne vuoi inserire un numero maggiore
dovrei fare ogni volta new int[dimensione] dentro il for?