Οδηγός Μελέτης - Εισαγωγή στον Προγραμματισμό

Α13.4 · Δυναμικός δισδιάστατος πίνακας MxN

Διάλεξη 13, διαφάνειες 56–58 · Δυσκολία ★★☆ · programming · Κεφάλαια: 13, 12

Θέλω να δημιουργήσω έναν δισδιάστατο πίνακα ακεραίων MxN δυναμικά. Πώς; Θέλω μετά να αποδεσμεύσω τη μνήμη του. Πώς;

Γράψτε τον κώδικα και για τα δύο, ώστε μετά τη δέσμευση να μπορείτε να γράφετε array[i][j] όπως σε έναν στατικό πίνακα. Για M = 5, N = 6 και τον πίνακα γεμάτο με 1, 2, 3, … γραμμή-γραμμή, το array[1][3] πρέπει να είναι 10 και το array[2][2] 15.

Υπόδειξη

Ο array είναι int **: δεσμεύστε πρώτα έναν πίνακα από M pointers και μετά μία γραμμή των N ακεραίων για καθέναν, ελέγχοντας κάθε κλήση για NULL. Για την αποδέσμευση σκεφτείτε τη σειρά: τι χάνετε αν αποδεσμεύσετε πρώτα τον πίνακα των pointers;

Αριθμός στον οδηγό: Α13.4 (στο κεφάλαιο) · Μόνιμο αναγνωριστικό: slides-lec13-dynamic-2d · Σύνδεσμος: https://progintro.github.io/study/questions/slides/slides-lec13-dynamic-2d.html · Markdown (GitHub)