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

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

Πώς να γράψει μια γραμμή οπισθοπορείας Λειτουργία Χρησιμοποιώντας Δείκτες σε C + +

Η γλώσσα προγραμματισμού C + + , με δείκτες και φορείς κατανομή μνήμης , φοβίζει συχνά έμπειρος προγραμματιστές . Για τους νέους φοιτητές , οι έννοιες αυτές φαίνεται ακατανόητο . Γλώσσες όπως η Java και C # κρύψει αυτές τις λεπτομέρειες , ώστε οι περισσότεροι προγραμματιστές δεν χρειάζεται πλέον να τα κατανοήσει . Ακόμα κι έτσι , στο σωστό πλαίσιο , τα χαρακτηριστικά χαμηλού επιπέδου C + + προσφέρουν δύναμη και την ευελιξία που δεν βρίσκονται σε υψηλότερο επίπεδο γλώσσες . Μπορείτε να πάρετε μια ιδέα για τη δύναμη της C + + pointers , δημιουργώντας μια απλή λειτουργία αντιστροφή κειμένου , τι χρειάζεστε για Microsoft Visual Studio , C + + Builder ή οποιοδήποτε άλλο C + + compiler

Παρουσίαση Περισσότερες οδηγίες

1

Δημιουργήστε ένα νέο έργο ή ένα χώρο εργασίας με τη χρήση της C + + γλώσσα της επιλογής σας στο Microsoft Visual Studio 2010 . Ανοίξτε το Visual Studio , κάντε κλικ στο " Αρχείο" και στη συνέχεια επιλέξτε "New Project ". Όταν εμφανιστεί το νέο παράθυρο του έργου , επιλέξτε C + + , Win32 και Win32 εφαρμογή κονσόλας . . Δώστε το όνομα " Αντιστροφή " και στη συνέχεια κάντε κλικ στο κουμπί " Next" και " OK" μέχρι να εμφανιστεί το αρχείο προέλευσης 2

Προσθήκη " περιλαμβάνει " δηλώσεις στην κορυφή του αρχείου ως εξής :

# include

# include εικόνων
3

κρίνει την αντίστροφη λειτουργία ως εξής :

άκυρη αντίστροφη ( char * txt , char * newTxt ) {

Αυτή η λειτουργία διαβάζει την ακολουθία χαρακτήρων που αρχίζει στη διεύθυνση μνήμης είναι αποθηκευμένα σε " txt " και στη συνέχεια αντιγράφει σε αντίστροφη σειρά με τη μνήμη που υποδεικνύεται από " newTxt . " Η συνάρτηση θεωρεί ότι υπάρχουν επαρκή μνήμη έχει διατεθεί για τη νέα σειρά
Η 4

Δημιουργήστε ένα δείκτη χαρακτήρα "c ", ως εξής : .

Char * c = txt + strlen ( txt ) ?

Ο δείκτης χαρακτήρα " * c" δεν είναι τίποτα περισσότερο από ένα μέρος για να αποθηκεύσει μια διεύθυνση μνήμης . Αρχικοποίησε ανακτώντας τη διεύθυνση στο " txt ", στη συνέχεια, προσθέστε το μήκος της συμβολοσειράς κειμένου
5

Αντιγράψτε το κείμενο χρησιμοποιώντας την ακόλουθη βρόχος "while" : .

Ενώ ( γ > txt ) {

c - ?

* newTxt = * c ?

newTxt + + ?

}

Μετακινήστε το " c " pointer πίσω έναν χαρακτήρα ( είχε προετοιμαστεί ένα χαρακτήρα μετά το τέλος της συμβολοσειράς κειμένου ) . Μόλις έχετε τον τελευταίο χαρακτήρα , να το αντιγράψετε στον πρώτο χαρακτήρα της νέας συμβολοσειράς , όπως υποδεικνύεται από " newTxt . " Προωθήστε το " newTxt " δείκτη προς τα εμπρός ένα χαρακτήρα . Η δεύτερη φορά μέσα , αντιγράψτε τον χαρακτήρα του " txt " string δίπλα - to-the - τελευταία με τον δεύτερο χαρακτήρα του " newTxt " string . Αυτό συνεχίζεται μέχρι να πάρει πίσω στην αρχή
Η 6

Προσθήκη σύρει το μηδέν στο " newTxt " string και να τελειώσει τη λειτουργία

* newTxt = 0 ? . .

}

στην C + + , όλες οι συμβολοσειρές κειμένου τελειώνει με ένα δυαδικό μηδέν
Η 7

Προσθέστε τον κώδικα για να ελέγξετε τη λειτουργία ως εξής : .

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

char * txt = " Τέσσερις σκορ και πριν από επτά χρόνια ... " ?

char * newTxt ?

newTxt = ( char * ) malloc ( strlen ( txt ) +1) ?

όπισθεν ( txt , newTxt ) ?

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

δωρεάν ( newTxt ) ?

επιστροφή 0?

} οι

μεταβλητές ονομάζεται το ίδιο όπως και στην λειτουργία για να αποφευχθεί η σύγχυση . Η λειτουργία " malloc " διαθέτει μνήμη για την " newTxt " string , τότε η συνάρτηση παίρνει ονομάζεται . Στη συνέχεια , εκτυπώστε τη νέα σειρά με την κονσόλα , τότε ελευθερώσετε τη μνήμη που διατίθενται από το " malloc . "

Για να δοκιμάσετε το πρόγραμμα στο Visual Studio , πατήστε το πλήκτρο F5 .

Η

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

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