Dichiarazione array bidimensionale,dubbio.

FELPONE
Ciao a tutti. Quando dichiaro un array bidimensionale è vero che posso impostare solo il primo indice cioè il numero delle righe?
Esempio: Char[][]=new char[5][]
è giusto oppure devo per forza impostare anche il secondo indice?

Risposte
Rggb1
Non mi sembra corretto, dovrebbe darti errore.

apatriarca
La riga di codice postata non è completa (manca il nome della variabile ad esempio) e non hai precisato a quale linguaggio ti stai riferendo. Mi viene per questo motivo abbastanza difficile dire se la tua affermazione è vera o falsa, ma credo che non lo sia. In C++ ci sono ad esempio casi in cui è sufficiente definire la prima dimensione, ma questi casi non comprendono l'allocazione di memoria (in cui è necessario conoscere entrambe le dimensioni).

FELPONE
scusatemi il linguaggio è java

edge1
Si va bene anche se scrivi solo la dimensione delle righe.
Non vale il viceversa

FELPONE
Ho provato dichiarando solo le righe ma poi nell'esecuzione del programma mi da l'eccezione del null che si risolve solo se specifico le colonne.Quindi?

Rggb1
Corretto: se in fase di init a Java hai solo indicato le righe, non sa dove memorizzare le colonne. "Quindi" dipende da cosa vuoi fare:
- se il numero di colonne è prefissato, lo metti all'inizio;
- se il numero di colonne varia di riga in riga, devi (per ogni riga che ti serve) assegnare le colonne, qualcosa tipo
riga[indice_riga]=new char[numero_colonne];

FELPONE
Si è vero...a volte se non si conosce il numero fisso delle colonne bisogna inizializzarli con dei cicli appropriati al caso.

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.