Δημοσιεύτηκε: 17 Μαρ 2012, 10:27
Ilias95 έγραψε:
...
Δεν μπορώ να καταλάβω τι ακριβώς σημαίνει το:
- Κώδικας: Επιλογή όλων
int (*p)[NUM_COLS];
...
Γενικώς μια μικρή επεξήγηση στο πως δουλεύει ο παραπάνω κώδικας θα βοηθούσε.
(Πρόσθεσα και εκτύπωση της array για να είναι ορατό το αποτέλεσμα)
Καλημέρα,
Το p σε αυτή την περίπτωση είναι πίνακας από δείκτες ακεραίων (array of integer pointers). Δηλαδή το κάθε στοιχείο του p είναι: (int *). Επί της ουσίας το κάθε στοιχείο του p έχει τη δυναμική να δείχνει σε έναν πίνακα από int, που στο συγκεκριμένο παράδειγμα (με το loop) είναι μια σειρά (γραμμή) του a.
Αν θεωρήσουμε τις σειρές του a ως υπο-πίνακες, τότε με το loop βάζεις τον p να τους δείχνει έναν προς έναν (3 είναι όλοι κι όλοι) και να μηδενίζει το 2ο στοιχείο τους (το I). Πρέπει όμως νομίζω να το ορίσεις με NUM_ROWS αντί για NUM_COLS...
- Μορφοποιημένος Κώδικας: Επιλογή όλων
-
int (*p)[NUM_ROWS];
ΥΓ. Επίσης, στο print-loop, πρέπει να είναι: for ( x = &a[0]; ...