Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

Απ: Pointers VS Arrays C++

  •  26-02-2007, 19:42

    Απ: Pointers VS Arrays C++

    Αν θέλεις να περάσεις τον πίνακά σου σαν παράμετρο, πρέπει να τον περάσεις σαν int [30][60] ή σαν int[][60] που αντιμετωπίζονται με τον ίδιο τρόπο. Και τα δύο είναι pointers, και πρέπει να περάσεις και το μέγεθος του array σαν παράμετρο. Π.χ.

    void test(int x[][60], unsigned size)
    {
      printf("%u,%u,%u\n", sizeof(x), sizeof(*x)/sizeof(**x), size);
    }

    int _tmain(int argc, _TCHAR* argv[])
    {
      int x[30][60];
      test(x, sizeof(x)/sizeof(x[0]));
      return 0;
    }


    Δίνοντας το μέγεθος σαν sizeof(x)/sizeof(x[0]) δε χρειάζεται να το πειράξεις αν αλλάξει το μέγεθος του array.

    Νατάσα Μανουσοπούλου
    Δημοσίευση στην κατηγορία: ,
Δείτε όλες τις δημοσιεύσεις της Θεματική Ενότητας
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems