Πίνακες σε C++ | Δηλώστε | Αρχικοποίηση | Δείκτης σε Παραδείγματα Πίνακα

Τι είναι ένας πίνακας;

Ένας πίνακας είναι μια δομή δεδομένων που αποθηκεύει ένα στοιχείο του ίδιου τύπου δεδομένων διαδοχικά. ΕΝΑ C++ ο πίνακας έχει σταθερό μέγεθος.

Μπορείτε να δείτε έναν πίνακα ως μια συλλογή μεταβλητών παρόμοιου τύπου δεδομένων. Αντί να δηλώνετε κάθε μεταβλητή και να της εκχωρείτε μια τιμή ξεχωριστά, μπορείτε να δηλώσετε μια μεταβλητή (τον πίνακα) και να προσθέσετε τις τιμές των διαφόρων μεταβλητών σε αυτήν. Κάθε προστιθέμενη αξία στον πίνακα προσδιορίζεται από ένα ευρετήριο.

Γιατί χρειαζόμαστε πίνακες;

Array είναι πολύ σημαντικά σε οποιαδήποτε γλώσσα προγραμματισμού. Παρέχουν έναν πιο βολικό τρόπο αποθήκευσης μεταβλητών ή συλλογής δεδομένων παρόμοιου τύπου δεδομένων μαζί αντί να αποθηκεύονται χωριστά. Κάθε τιμή του πίνακα θα προσπελαστεί ξεχωριστά.

Δηλώστε έναν πίνακα μέσα C++

Δήλωση πίνακα σε C++ περιλαμβάνει τη δήλωση του τύπου καθώς και του αριθμού των στοιχείων που θα αποθηκευτούν από τον πίνακα. Σύνταξη:

type array-Name [ array-Size ];

Κανόνες για τη δήλωση ενός πίνακα μιας διάστασης σε C++.

  • Τύπος: Ο τύπος είναι ο τύπος των στοιχείων που θα αποθηκευτούν στον πίνακα και πρέπει να είναι έγκυρος C++ τύπου δεδομένων.
  • Όνομα πίνακα: Ο πίνακας-Όνομα είναι το όνομα που θα εκχωρηθεί στον πίνακα.
  • Μέγεθος πίνακα: Το array-Size είναι ο αριθμός των στοιχείων που θα αποθηκευτούν στον πίνακα. Πρέπει να είναι ακέραιος και μεγαλύτερος από 0.

Για παράδειγμα, μπορείτε να δημιουργήσετε έναν πίνακα με το όνομα age και να αποθηκεύσετε τις ηλικίες των 5 μαθητών ως εξής:

int age[5];

Η ηλικία του πίνακα θα αποθηκεύσει 5 ακέραιους αριθμούς που αντιπροσωπεύουν τις ηλικίες διαφορετικών μαθητών.

Αρχικοποίηση συστοιχίας

Η προετοιμασία του πίνακα είναι η διαδικασία εκχώρησης/αποθήκευσης στοιχείων σε έναν πίνακα. Η αρχικοποίηση μπορεί να γίνει σε μία πρόταση ή μία προς μία. Σημειώστε ότι το πρώτο στοιχείο σε έναν πίνακα αποθηκεύεται στο δείκτη 0, ενώ το τελευταίο στοιχείο αποθηκεύεται στον δείκτη n-1, όπου n είναι ο συνολικός αριθμός στοιχείων του πίνακα.

Στην περίπτωση του πίνακα ηλικίας, το πρώτο στοιχείο θα αποθηκευτεί στο ευρετήριο 0, ενώ το τελευταίο στοιχείο θα αποθηκευτεί στο ευρετήριο 4.

Ας χρησιμοποιήσουμε τον πίνακα ηλικίας για να δείξουμε πώς μπορεί να γίνει η προετοιμασία του πίνακα:

int age[5] = {19, 18, 21, 20, 17};

Ο συνολικός αριθμός στοιχείων εντός του { } δεν μπορεί να υπερβαίνει την τιμή που αναφέρεται στο [ ]. Το στοιχείο 19 βρίσκεται στο ευρετήριο 0, το 18 στο ευρετήριο 1, το 21 στο ευρετήριο 2, το 20 στο ευρετήριο 3 και το 17 στο ευρετήριο 4. Εάν δεν αναφέρετε τον αριθμό των στοιχείων που θα αποθηκευτούν στον πίνακα εντός [ ], ο πίνακας θα είναι μόνο αρκετά μεγάλο ώστε να συγκρατεί τα στοιχεία που προστέθηκαν μέσα στο { }. Για παράδειγμα:

int age[] = {19, 18, 21, 20, 17};

Η παραπάνω δήλωση θα δημιουργήσει ακριβώς τον ίδιο πίνακα με τον προηγούμενο. Μπορείτε επίσης να αντιστοιχίσετε ένα στοιχείο σε έναν πίνακα χρησιμοποιώντας το ευρετήριό του. Για παράδειγμα:

age[3] = 20;

Η παραπάνω δήλωση θα αποθηκεύσει την τιμή 20 στο ευρετήριο 3 του πίνακα με το όνομα age. Αυτό σημαίνει ότι το 20 θα είναι το 4th στοιχείο του πίνακα.

Τύποι συστοιχιών

Υπάρχουν δύο τύποι C++ πίνακες:

  • Μονοδιάστατος πίνακας
  • Πολυδιάστατος πίνακας
  • Δείκτης σε πίνακα

Μονοδιάστατος πίνακας

Αυτός είναι ένας πίνακας στον οποίο τα στοιχεία δεδομένων είναι διατεταγμένα γραμμικά σε μία μόνο διάσταση. Συνήθως ονομάζεται πίνακας 1-D. Σύνταξη:

datatype array-name[size];
  • Το όνομα του πίνακα είναι το όνομα του πίνακα.
  • Το μέγεθος είναι ο αριθμός των στοιχείων που θα αποθηκευτούν στον πίνακα.

Για παράδειγμα:

#include <iostream>
using namespace std;

int main()
{
	int age[5] = { 19, 18, 21, 20, 17 };
	for (int x = 0; x < 5; x++)
	{
		cout <<age[x]<<"\n";
	}
}

Παραγωγή:

Μονοδιάστατος πίνακας

Εδώ είναι ένα στιγμιότυπο οθόνης του κώδικα:

Μονοδιάστατος πίνακας

Επεξήγηση κώδικα:

  1. Συμπεριλαμβανομένου του αρχείου κεφαλίδας iostream στον κώδικά μας. Θα μας επιτρέψει να διαβάζουμε και να γράφουμε στην κονσόλα.
  2. Συμπεριλαμβανομένου του χώρου ονομάτων std ώστε να χρησιμοποιείτε τις κλάσεις και τις συναρτήσεις του χωρίς να τον καλείτε.
  3. Κλήση της συνάρτησης main() εντός της οποίας πρέπει να προστεθεί η λογική του προγράμματος.
  4. Έναρξη του σώματος της συνάρτησης main().
  5. Δήλωση ενός πίνακα με όνομα ηλικία για αποθήκευση 5 ακεραίων. Οι 5 ακέραιοι αριθμοί έχουν επίσης αρχικοποιηθεί.
  6. Δημιουργήστε μια ακέραια μεταβλητή x χρησιμοποιώντας έναν βρόχο for.
  7. Η αρχή του σώματος του βρόχου for.
  8. Χρησιμοποιώντας τη μεταβλητή βρόχου x για επανάληψη των τιμών της ηλικίας του πίνακα και την εκτύπωση τους στην κονσόλα. Το "\n" είναι ένας χαρακτήρας νέας γραμμής και εκτυπώνεται σε νέα γραμμή μετά από κάθε επανάληψη.
  9. Τέλος του σώματος του για βρόχο.
  10. Τέλος του σώματος της συνάρτησης main().

Πολυδιάστατος πίνακας

Αυτός είναι ένας πίνακας στον οποίο τα στοιχεία δεδομένων είναι διατεταγμένα για να σχηματίσουν έναν πίνακα πινάκων. Ένας πολυδιάστατος πίνακας μπορεί να έχει οποιονδήποτε αριθμό διαστάσεων, αλλά οι δισδιάστατοι και τρισδιάστατοι πίνακες είναι συνηθισμένοι. Σύνταξη:

datatype array-name[d1][d2][d3]...[dn];

Το όνομα του πίνακα είναι το όνομα του πίνακα που θα έχει n διαστάσεις. Για παράδειγμα:

Δισδιάστατος πίνακας

Ένας πίνακας 2D αποθηκεύει δεδομένα σε μια λίστα με πίνακα 1-D. Είναι ένας πίνακας με γραμμές και στήλες. Για να δηλώσετε έναν πίνακα 2D, χρησιμοποιήστε την ακόλουθη σύνταξη:

type array-Name [ x ][ y ];

Ο τύπος πρέπει να είναι έγκυρος C++ τύπος δεδομένων. Δείτε έναν πίνακα 2D ως πίνακα, όπου το x υποδηλώνει τον αριθμό των γραμμών ενώ το y τον αριθμό των στηλών. Αυτό σημαίνει ότι προσδιορίζετε κάθε στοιχείο σε έναν πίνακα 2D χρησιμοποιώντας τη μορφή a[x][y], όπου x είναι ο αριθμός της γραμμής και y ο αριθμός των στηλών στις οποίες ανήκει το στοιχείο.

Ακολουθεί ένα παράδειγμα για τον τρόπο προετοιμασίας ενός πίνακα 2D:

int a[2][3] = {  
   {0, 2, 1} ,   /*  row at index 0 */
   {4, 3, 7} ,   /*  row at index 1 */
   };

Στο παραπάνω παράδειγμα, έχουμε έναν πίνακα 2D που μπορεί να φανεί ως μήτρα 2×3. Υπάρχουν 2 σειρές και 3 στήλες. Το στοιχείο 0 μπορεί να προσπελαστεί ως [0][1] επειδή βρίσκεται στη τομή της γραμμής με ευρετήριο 0 και της στήλης με ευρετήριο 1. Το στοιχείο 3 μπορεί να προσπελαστεί ως [1][2] επειδή βρίσκεται στο τομή της γραμμής με ευρετήριο 1 και στήλης με ευρετήριο 2.

Σημειώστε ότι απλώς προσθέσαμε σγουρά τιράντες για να διαφοροποιήσουμε τις διαφορετικές σειρές στοιχείων. Η αρχικοποίηση θα μπορούσε επίσης να γίνει ως εξής:

int a[2][3] = {0, 2, 1, 4, 3, 7};
   };

Ο ακόλουθος C++ Το παράδειγμα δείχνει πώς να αρχικοποιήσετε και να διασχίσετε έναν πίνακα 2D:

#include <iostream>
using namespace std;
int main() 
{
	// a 2x3 array
	int a[3][2] = { {0, 2}, {1, 4}, {3, 7} };

	// traverse array elements

	for (int i=0; i<3; i++)
		for (int j=0; j<2; j++) 
		
		{
			cout << "a[" <<i<< "][" <<j<< "]: ";
			cout << a[i][j] << endl;
		}
	return 0;
}

Παραγωγή:

Δισδιάστατος πίνακας

Ακολουθεί ένα στιγμιότυπο οθόνης του παραπάνω κώδικα:

Δισδιάστατος πίνακας

Επεξήγηση κώδικα:

  1. Συμπεριλαμβανομένου του αρχείου κεφαλίδας iostream στον κώδικά μας. Θα μας επιτρέψει να διαβάζουμε και να γράφουμε στην κονσόλα.
  2. Συμπεριλαμβανομένου του χώρου ονομάτων std ώστε να χρησιμοποιείτε τις κλάσεις και τις συναρτήσεις του χωρίς να τον καλείτε.
  3. Κλήση της συνάρτησης main() εντός της οποίας πρέπει να προστεθεί κώδικας.
  4. Έναρξη του σώματος της συνάρτησης main().
  5. Ένα σχόλιο. Ο C++ ο μεταγλωττιστής θα το παρακάμψει.
  6. Δήλωση ενός πίνακα 2D με 3 σειρές και 2 στήλες. Στοιχεία έχουν επίσης προστεθεί στον πίνακα.
  7. Ένα σχόλιο. Ο C++ ο μεταγλωττιστής θα το παρακάμψει.
  8. Δημιουργία μεταβλητής i χρησιμοποιώντας ένα βρόχο for. Αυτή η μεταβλητή θα επαναληφθεί πάνω από τα ευρετήρια σειρών του πίνακα.
  9. Δημιουργία μεταβλητής j χρησιμοποιώντας ένα βρόχο for. Αυτή η μεταβλητή θα επαναληφθεί πάνω από τους δείκτες στηλών του πίνακα.
  10. Έναρξη του σώματος των βρόχων.
  11. Εκτυπώστε τις τιμές των μεταβλητών i και j στην κονσόλα μέσα σε αγκύλες στην κονσόλα.
  12. Εκτυπώστε την τιμή που είναι αποθηκευμένη στο δείκτη [i][j] του πίνακα a.
  13. Τέλος του σώματος των βρόχων.
  14. Η συνάρτηση main() θα πρέπει να επιστρέψει μια ακέραια τιμή εάν το πρόγραμμα εκτελείται σωστά.
  15. Τέλος του σώματος της συνάρτησης main().

Τρισδιάστατος πίνακας

Ένας τρισδιάστατος πίνακας είναι ένας πίνακας πινάκων. Κάθε στοιχείο σε έναν πίνακα 3D αναγνωρίζεται από ένα σύνολο 3 ευρετηρίων. Για να αποκτήσουμε πρόσβαση στα στοιχεία ενός 3D πίνακα, χρησιμοποιούμε τρεις βρόχους for. Για παράδειγμα:

#include<iostream>
using namespace std;
void main()
{
	int a[2][3][2] = {{{4, 8},{2, 4},{1, 6}}, {{3, 6},{5, 4},{9, 3}}};
	cout << "a[0][1][0] = " << a[0][1][0] << "\n";
	cout << "a[0][1][1] = " << a[0][1][1] << "\n";
}

Παραγωγή:

Τρισδιάστατος πίνακας

Εδώ είναι ένα στιγμιότυπο οθόνης του κώδικα:

Τρισδιάστατος πίνακας

Επεξήγηση κώδικα:

  1. Συμπεριλαμβανομένου του αρχείου κεφαλίδας iostream στον κώδικά μας. Θα μας επιτρέψει να διαβάζουμε και να γράφουμε στην κονσόλα.
  2. Συμπεριλαμβανομένου του χώρου ονομάτων std ώστε να χρησιμοποιείτε τις κλάσεις και τις συναρτήσεις του χωρίς να τον καλείτε.
  3. Κλήση της συνάρτησης main() εντός της οποίας πρέπει να προστεθεί η λογική του προγράμματος.
  4. Έναρξη σώματος της συνάρτησης main().
  5. Δήλωση ενός πίνακα 3D με όνομα an μεγέθους 2x3x2. Οι τιμές του πίνακα έχουν επίσης αρχικοποιηθεί.
  6. Πρόσβαση στο στοιχείο που είναι αποθηκευμένο στο ευρετήριο [0][1][0] του πίνακα και εκτύπωσή του στην κονσόλα.
  7. Πρόσβαση στο στοιχείο που είναι αποθηκευμένο στο ευρετήριο [0][1][1] του πίνακα και εκτύπωσή του στην κονσόλα.
  8. Τέλος του σώματος της συνάρτησης main().

Δείκτης σε πίνακα

A δείκτης είναι μια μεταβλητή που περιέχει μια διεύθυνση. Εκτός από τη χρήση ενός δείκτη για την αποθήκευση της διεύθυνσης μιας μεταβλητής, μπορούμε να τον χρησιμοποιήσουμε για να αποθηκεύσουμε τη διεύθυνση ενός κελιού πίνακα. Το όνομα ενός πίνακα δείχνει συνεχώς το πρώτο του στοιχείο. Εξετάστε τη δήλωση που δίνεται παρακάτω:

int age[5];

Η ηλικία είναι ένας δείκτης στο $age[0], τη διεύθυνση του πρώτου στοιχείου ενός πίνακα με το όνομα age. Εξετάστε το ακόλουθο παράδειγμα:

#include <iostream>
using namespace std;
int main()
{
	int *john;

	int age[5] = { 19, 18, 21, 20, 17 };

	john = age;

	cout << john << "\n";

	cout << *john;
	
}

Παραγωγή:

Δείκτης σε πίνακα

Σημειώστε ότι η πρώτη τιμή της παραπάνω εξόδου ενδέχεται να επιστρέψει διαφορετική τιμή ανάλογα με τη διεύθυνση που έχει εκχωρηθεί στο πρώτο στοιχείο του πίνακα στη μνήμη του υπολογιστή σας.

Εδώ είναι ένα στιγμιότυπο οθόνης του κώδικα:

Δείκτης σε πίνακα

Επεξήγηση κώδικα:

  1. Συμπεριλαμβανομένου του αρχείου κεφαλίδας iostream στον κώδικά μας. Θα μας επιτρέψει να διαβάζουμε και να γράφουμε στην κονσόλα.
  2. Συμπεριλαμβανομένου του χώρου ονομάτων std ώστε να χρησιμοποιείτε τις κλάσεις και τις συναρτήσεις του χωρίς να τον καλείτε.
  3. Κλήση της συνάρτησης main() εντός της οποίας πρέπει να προστεθεί η λογική του προγράμματος.
  4. Έναρξη σώματος της συνάρτησης main().
  5. Δήλωση μιας μεταβλητής δείκτη με το όνομα *john.
  6. Δήλωση ενός ακέραιου πίνακα με το όνομα age για αποθήκευση 5 ακεραίων. Οι τιμές των ακεραίων έχουν επίσης αρχικοποιηθεί.
  7. Εκχώρηση στη μεταβλητή john της τιμής της διεύθυνσης του στοιχείου που είναι αποθηκευμένο στο πρώτο ευρετήριο της ηλικίας του πίνακα.
  8. Εκτύπωση της τιμής της μεταβλητής john, η οποία είναι η διεύθυνση του στοιχείου που είναι αποθηκευμένο στο πρώτο ευρετήριο της ηλικίας του πίνακα.
  9. Εκτύπωση της πρώτης τιμής που είναι αποθηκευμένη στην ηλικία του πίνακα.
  10. Τέλος του σώματος της συνάρτησης main().

Τα ονόματα των πινάκων μπορούν να χρησιμοποιηθούν ως σταθεροί δείκτες, και το αντίστροφο ισχύει επίσης. Αυτό σημαίνει ότι μπορείτε να αποκτήσετε πρόσβαση στην τιμή που είναι αποθηκευμένη στο ευρετήριο 3 της ηλικίας του πίνακα με *(ηλικία + 3). Για παράδειγμα:

#include <iostream>
using namespace std;

int main() {
	// an array of 5 elements.
	int age[5] = { 19, 18, 21, 20, 17 };
	int *p;

	p = age;

	// output array values

	cout << "Using pointer: " << endl;

	for (int x=0; x<5; x++) {
		cout << "*(p + " << x << ") : ";
		cout << *(p + x) << endl;
	}
	cout << "Using age as address: " << endl;

	for (int x = 0; x < 5; x++) {
		cout << "*(age + " << x << ") : ";
		cout << *(age + x) << endl;
	}

	return 0;
}

Παραγωγή:

Δείκτης σε πίνακα

Εδώ είναι ένα στιγμιότυπο οθόνης του κώδικα:

Δείκτης σε πίνακα

Επεξήγηση κώδικα:

  1. Συμπεριλαμβανομένου του αρχείου κεφαλίδας iostream στον κώδικά μας. Θα μας επιτρέψει να διαβάζουμε και να γράφουμε στην κονσόλα.
  2. Συμπεριλαμβανομένου του χώρου ονομάτων std ώστε να χρησιμοποιείτε τις κλάσεις και τις συναρτήσεις του χωρίς να τον καλείτε.
  3. Κλήση της συνάρτησης main() και έναρξη του σώματος της συνάρτησης main().
  4. Ένα σχόλιο. Ο C++ ο μεταγλωττιστής θα το παρακάμψει.
  5. Δήλωση ενός πίνακα με όνομα ηλικία για αποθήκευση 5 ακεραίων.
  6. Δημιουργία ακέραιου δείκτη σελ.
  7. Εκχώρηση p της τιμής της διεύθυνσης του πρώτου στοιχείου της ηλικίας του πίνακα.
  8. Ένα σχόλιο. Ο C++ ο μεταγλωττιστής θα το παρακάμψει.
  9. Εκτυπώστε λίγο κείμενο στην κονσόλα.
  10. Δημιουργήστε έναν ακέραιο x χρησιμοποιώντας ένα βρόχο for. Το { σηματοδοτεί την αρχή του σώματος του βρόχου for.
  11. Εκτυπώστε τις τιμές του x σε συνδυασμό με κάποιο άλλο κείμενο στην κονσόλα.
  12. Εκτυπώστε τις τιμές του *(p + x) στην κονσόλα.
  13. Τέλος του σώματος του βρόχου for.
  14. Εκτυπώστε λίγο κείμενο στην κονσόλα.
  15. Δημιουργήστε μια μεταβλητή x χρησιμοποιώντας ένα βρόχο for. Το { σηματοδοτεί την αρχή του σώματος του βρόχου for.
  16. Εκτυπώστε τις τιμές του x από το 0 έως το 4 μαζί με κάποιο άλλο κείμενο.
  17. Εκτυπώστε τις τιμές του *(ηλικία + x).
  18. Τέλος του σώματος του βρόχου for.
  19. Επιστρέψτε την τιμή εάν το πρόγραμμα εκτελείται με επιτυχία.
  20. Τέλος του σώματος της συνάρτησης main().

Πρόσβαση στις τιμές ενός πίνακα

Η πρόσβαση στα στοιχεία ενός πίνακα γίνεται με χρήση των αντίστοιχων ευρετηρίων τους. Το ευρετήριο του στοιχείου προς πρόσβαση προστίθεται μέσα σε αγκύλες [ ] αμέσως μετά το όνομα του πίνακα. Για παράδειγμα:

int john = age[2];

Στο παραπάνω παράδειγμα, δηλώνουμε απλώς ότι η ηλικία του John αποθηκεύεται στο δείκτη 2 του πίνακα με το όνομα age. Αυτό σημαίνει ότι η ηλικία του Γιάννη είναι τα 3rd τιμή στην ηλικία του πίνακα. Εδώ είναι ένα πλήρες C++ παράδειγμα που δείχνει πώς να αποκτήσετε πρόσβαση και να εκτυπώσετε αυτήν την τιμή:

#include<iostream>
using namespace std;
int main()
{
	int age[5] = { 19, 18, 21, 20, 17 };
	int john = age[2];
	cout << "The age of John is:"<<john;
}

Παραγωγή:

Πρόσβαση στις τιμές ενός πίνακα

Εδώ είναι ένα στιγμιότυπο οθόνης του κώδικα:

Πρόσβαση στις τιμές ενός πίνακα

Επεξήγηση κώδικα:

  1. Συμπεριλαμβανομένου του αρχείου κεφαλίδας iostream στον κώδικά μας. Θα μας επιτρέψει να διαβάζουμε και να γράφουμε στην κονσόλα.
  2. Συμπεριλαμβανομένου του χώρου ονομάτων std ώστε να χρησιμοποιείτε τις κλάσεις και τις συναρτήσεις του χωρίς να τον καλείτε.
  3. Κλήση της συνάρτησης main() εντός της οποίας πρέπει να προστεθεί κώδικας.
  4. Έναρξη σώματος της συνάρτησης main().
  5. Δήλωση ενός πίνακα με το όνομα age για αποθήκευση 5 ακέραιων στοιχείων.
  6. Πρόσβαση στην τιμή που είναι αποθηκευμένη στο δείκτη 2 της ηλικίας του πίνακα και αποθήκευση της τιμής του σε μια μεταβλητή που ονομάζεται john.
  7. Εκτύπωση της τιμής της μεταβλητής john στην κονσόλα μαζί με άλλο κείμενο.

Πλεονεκτήματα ενός Array in C++

Εδώ, είναι τα πλεονεκτήματα/πλεονεκτήματα της χρήσης του Array in C++:

  • Τα στοιχεία του πίνακα μπορούν να διασχιστούν εύκολα.
  • Εύκολος χειρισμός δεδομένων πίνακα.
  • Τα στοιχεία του πίνακα είναι προσβάσιμα τυχαία.
  • Οι πίνακες διευκολύνουν τη βελτιστοποίηση κώδικα. Ως εκ τούτου, μπορούμε να εκτελέσουμε πολλή δουλειά χρησιμοποιώντας λιγότερο κώδικα.
  • Εύκολη ταξινόμηση δεδομένων πίνακα.

Μειονεκτήματα ενός Array in C++

  • Ένας πίνακας έχει σταθερό μέγεθος. Ως εκ τούτου, δεν μπορούμε να προσθέσουμε νέα στοιχεία σε αυτό μετά την προετοιμασία.
  • Η εκχώρηση περισσότερης μνήμης από την απαίτηση οδηγεί σε σπατάλη χώρου στη μνήμη και η μικρότερη κατανομή μνήμης μπορεί να δημιουργήσει πρόβλημα.
  • Ο αριθμός των στοιχείων που θα αποθηκευτούν σε έναν πίνακα πρέπει να είναι γνωστός εκ των προτέρων.

Σύνοψη

  • Ένας πίνακας είναι μια δομή δεδομένων που αποθηκεύει στοιχεία του ίδιου τύπου δεδομένων.
  • Τα στοιχεία του πίνακα αποθηκεύονται διαδοχικά.
  • Τα στοιχεία του πίνακα συμβολίζονται χρησιμοποιώντας τους αντίστοιχους δείκτες τους. Το πρώτο στοιχείο βρίσκεται στον δείκτη 0, ενώ το τελευταίο στοιχείο βρίσκεται στον δείκτη n-1, όπου είναι ο συνολικός αριθμός των στοιχείων του πίνακα.
  • Η δήλωση ενός πίνακα περιλαμβάνει τον καθορισμό των τύπων δεδομένων των στοιχείων του πίνακα καθώς και του αριθμού των στοιχείων που θα αποθηκευτούν στον πίνακα.
  • Ένας μονοδιάστατος πίνακας αποθηκεύει στοιχεία διαδοχικά.
  • Ένας δισδιάστατος πίνακας αποθηκεύει στοιχεία σε σειρές και στήλες.
  • Ένας τρισδιάστατος πίνακας είναι ένας πίνακας πινάκων.
  • Τα στοιχεία μπορούν να προστεθούν σε έναν πίνακα χρησιμοποιώντας τα ευρετήριά τους.
  • Η πρόσβαση σε στοιχεία πίνακα γίνεται με χρήση των ευρετηρίων τους.
  • Ένας πολυδιάστατος πίνακας έχει περισσότερες από μία διαστάσεις.
  • Το όνομα του πίνακα δείχνει το πρώτο του στοιχείο.
  • Οι πίνακες έχουν σταθερό μέγεθος, που σημαίνει ότι δεν μπορούν να προστεθούν νέα στοιχεία στον πίνακα μετά την αρχικοποίησή του.