Προγραμματισμός

* Γνώση Υπολογιστών >> Προγραμματισμός >> C /C + + Προγραμματισμός

Πώς να προσθέσει ή να αφαιρέσει Pointer Πίνακες

Οι γλώσσες C και C + + προγραμματισμό είναι δύο από τις λίγες που εξακολουθούν να εξαρτώνται σε μεγάλο βαθμό από την έμμεση πρόσβαση στη μνήμη . Αυτή είναι η έννοια ότι μια μεταβλητή μνήμης μπορεί να κρατήσει τη θέση της άλλης μεταβλητής μνήμης - και αυτή η μεταβλητή είναι γνωστό ως δείκτη. Αν και αυτό ακούγεται σύγχυση , είναι ένα ισχυρό εργαλείο που χρησιμοποιείται για την υλοποίηση συστοιχίες , συνδεδεμένες λίστες , δέντρα και άλλες δομές δεδομένων . Εδώ είναι μια σύντομη εισαγωγή για τους δείκτες και πίνακες . Τα πράγματα που θα χρειαστείτε
γλώσσα C + + , όπως η Visual C + + Express , Visual studio ή C + + Builder
Η Εμφάνιση Περισσότερες οδηγίες
Η 1

Δημιουργούμε ένα νέο C + + πρόγραμμα . Χρησιμοποιώντας το Visual Studio 2010 πρότυπο εφαρμογή κονσόλας των Windows , ο κώδικας θα ξεκινήσει όπως αυτό :

# include " stdafx.h "

int _tmain ( int argc , argv _TCHAR * [ ] )

{

Εισάγετε τον υπόλοιπο κώδικα στο πρόγραμμα , όπως φαίνεται σε όλη την αφήγηση παρακάτω . 2

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

char * c = " Hello" ?

printf ( " % s \\ n" , γ) ?

Ο αστερίσκος ( * ) πριν από τη μεταβλητή c υποδεικνύει ότι αυτή είναι μια μεταβλητή δείκτη . Μεταβλητή c περιέχει την θέση μνήμης όπου το κείμενο το string " Hello " αποθηκεύτηκε από τον compiler . Η συνάρτηση printf χρησιμοποιεί το δείκτη c για να εντοπίσετε αυτή τη σειρά και να την εμφανίζει στην κονσόλα .
Εικόνων 3

Προσθέστε μια νέα σειρά των ακεραίων στη μνήμη .

Int * n = new int [ 5 ] ?

ένα νέο δείκτη n δηλώνεται στο σημείο σε μια σειρά ακέραιο . Η νέα λειτουργία δημιουργεί μια νέα σειρά από πέντε ακέραιους και η θέση αυτού του πίνακα αποθηκεύεται στο δείκτη p .
Η

4 Τοποθετήστε τον πίνακα με τους αριθμούς 1 έως 5 χρησιμοποιώντας ένα δεύτερο δείκτη να κινηθεί μέσω της . σειρά

int * p = n ?

int I ?

για ( i = 1 ? i <6 ? i + + ) {

* p = i ?

p + + ?

}

Ο δείκτης p δηλώνεται και ορίζεται με την ίδια αξία με n , η αρχή του πίνακα . Καθώς ο βρόχος επαναλαμβάνεται πέντε φορές , η θέση μνήμης που υποδεικνύεται από p λαμβάνει την τιμή του μετρητή , τότε ο δείκτης αυξάνεται , κινείται προς το επόμενο στοιχείο της συστοιχίας . Σημειώστε ότι το p + + δήλωση αυξάνει το δείκτη p από το μέγεθος του ακεραίου , που διακινούνται σε κάθε κελί του πίνακα .
5

Εμφανίστε τις τιμές στον πίνακα με την κονσόλα , χρησιμοποιώντας έναν δείκτη μέσα στον πίνακα .

για ( i = 0 ? i <5 ? i + + )

{ printf ( "% d \\ n" , n [ i ] ) ?

}

Και πάλι , το πρόγραμμα θηλιές πέντε φορές , κάθε φορά που χρησιμοποιείτε τη λειτουργία printf για να στείλετε τα περιεχόμενα των θέσεων μνήμης επισήμανε με n [ i ] στην κονσόλα . Αυτή τη φορά το πρόγραμμα χρησιμοποιεί το συμβολισμό δείκτη μαζί με το δείκτη να κινηθεί μέσω της συστοιχίας . Στη C + + , συστοιχίες είναι μηδενική βάση , έτσι ώστε ο μετρητής κινείται 0-4
Η 6

Τερματίστε το πρόγραμμα

διαγραφή n ? . .

Επιστροφή 0?

}

Αφαιρέστε τον πίνακα από μνήμης χρησιμοποιώντας τη λειτουργία διαγραφής . Στη C + + , κάθε μνήμη που εκχωρείται από το νέο πρέπει να διαγραφεί για να αποτρέψει τις διαρροές μνήμης . Τέλος , επιστρέφει 0 για να υποδείξει ότι το πρόγραμμα ολοκληρώθηκε με επιτυχία .
Η
εικόνων

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα