Κοινή χρήση τεχνολογίας

"C Language Programming 4th Edition" Σημειώσεις και κώδικας Κεφάλαιο 10 Συμβολοσειρές

2024-07-11

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

κεφάλαιο δέκατο σειρά

10.1 κορδόνι κυριολεκτικά

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

2 Το "a" είναι μια κυριολεκτική συμβολοσειρά και το "a" είναι μια σταθερά χαρακτήρων, οι οποίες είναι διαφορετικές.

3 Η συμβολοσειρά στην πραγματικότητα αποτελείται από πολλάΈγκυροι χαρακτήρεςΜια ακολουθία χαρακτήρων που τελειώνει με '0'.

10.2 Αποθήκευση χορδών

1 Πρόσβαση συμβολοσειράςπίνακας χαρακτήρων να εκπληρώσω.Αποθηκευμένο όμως σε έναν πίνακα χαρακτήρωναβέβαιοςείναι μια συμβολοσειρά μόνο αν το τελευταίο της στοιχείο είναι’0’Μόνο τότε αντιπροσωπεύει μια συμβολοσειρά.

2 Η σημαία τέλους συμβολοσειράς '0' υποδεικνύει επίσης ότι καταλαμβάνει επίσηςένα byteμνήμη, αλλά δεν περιλαμβάνεται στη συμβολοσειράΠραγματικό μήκος

3 Επιτρέπεται μία μορφή αρχικοποίησης συμβολοσειράς:

char str[6]={'h','e','l','l','0','0'};

Μπορείτε επίσης να παραλείψετε τη δήλωση του μήκους του πίνακα (επειδή το μήκος είναι προφανές, αλλά σημειώστε ότι το '0' δεν μπορεί να παραλειφθεί):

char str[ ]= {'h','e','l','l','0','0'};

Ή αρχικοποιήστε τον πίνακα χαρακτήρων με μια σταθερά συμβολοσειράς:

char str[ ]={“γεια”};

Μπορείτε επίσης να παραλείψετε απευθείας τα σγουρά τιράντες:

Char str[ ]=”γεια”;

4 Λάβετε πάντα υπόψη ότι θα πρέπει να υπάρχει αρκετός χώρος αποθήκευσης για την αποθήκευση του αναγνωριστικού τέλους της συμβολοσειράς, επομένως, το μέγεθος του πίνακα χαρακτήρων είναι πάντα μεγαλύτερο από τον πραγματικό αριθμό χαρακτήρων στη συμβολοσειρά.Ενα ακόμα

5 Ένας δισδιάστατος πίνακας είναιΑποθήκευση ανά σειρά, επομένως στο σύστημα πρέπει να δηλωθεί το μήκος της πρώτης γραμμής και όταν το μήκος της συμβολοσειράς που παρέχεται από τη λίστα αρχικοποίησης είναι μικρότερο από το μήκος κάθε γραμμής, το σύστημα εκχωρεί αυτόματα τις ακόλουθες μονάδες”0”

10.3 Δείκτης χαρακτήρων

1 δείκτη χαρακτήρωνΕίναι μια μεταβλητή δείκτη που δείχνει σε δεδομένα χαρακτήρων.

2 Το ίδιο το string literal αντιπροσωπεύει τη σταθερή περιοχή αποθήκευσης όπου είναι αποθηκευμένη.Πρώτη διεύθυνση .Οπότε απλά αλλάξτε τοΠρώτη ανάθεση διεύθυνσηςΔίνοντας μια μεταβλητή δείκτη, μπορείτε να κάνετε τον δείκτη χαρακτήρα να δείχνει σε μια συμβολοσειρά.

3 χορδές παραμένουν μέσαΣυνεχής αποθήκευση μόνο για ανάγνωσηin, επομένως μπορεί μόνο να τροποποιηθείτιμή της μεταβλητής δείκτη, δεν μπορεί να χρησιμοποιηθεί σε μεταβλητές δείκτητη θέση μνήμης που επισημαίνεταιΕκτελέστε λειτουργίες ανάγνωσης και εγγραφής.

Μόνο η τιμή του ptr μπορεί να τροποποιηθεί, όχι η μονάδα αποθήκευσης που επισημαίνεται με το ptr, επομένως *ptr='W' είναι παράνομη.

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