Technologieaustausch

„C Language Programming 4. Edition“ Notizen und Code Kapitel 10 Zeichenfolgen

2024-07-11

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

Kapitel Zehn Zeichenfolge

10.1 String-Literal

1 String-Literal(d. h. eine Zeichenfolgenkonstante), bei der es sich um einen Wert handelt, der in ein Paar doppelter Anführungszeichen eingeschlossen istZeichenfolge . Unabhängig davon, wie viele Zeichen in doppelte Anführungszeichen eingeschlossen sind, stellen sie ein Zeichenfolgenliteral dar.

2 „a“ ist ein String-Literal und „a“ ist eine Zeichenkonstante, die unterschiedlich sind.

3 Die Zeichenfolge besteht tatsächlich aus mehrerenGültige ZeichenEine Zeichenfolge, die mit „0“ endet.

10.2 Speicherung von Strings

1 String-ZugriffZeichenarray erfüllen.Aber in einem Zeichenarray gespeichertunsicherist nur dann ein String, wenn sein letztes Element es ist’0’Nur dann stellt eine Zeichenfolge dar.

2 Das String-End-Flag „0“ zeigt auch an, dass es ebenfalls belegt istein ByteSpeicher, aber nicht in der Zeichenfolge enthaltenTatsächliche Länge

3 Eine Form der String-Initialisierung ist zulässig:

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

Sie können die Angabe der Array-Länge auch weglassen (da die Länge offensichtlich ist, aber beachten Sie, dass „0“ nicht weggelassen werden darf):

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

Oder initialisieren Sie das Zeichenarray mit einer String-Konstante:

char str[ ]={“hallo”};

Sie können die geschweiften Klammern auch direkt weglassen:

Char str[ ]=”hallo”;

4 Beachten Sie immer, dass genügend Speicherplatz zum Speichern der Endkennung der Zeichenfolge vorhanden sein sollte. Daher ist die Größe des Zeichenarrays immer größer als die tatsächliche Anzahl der Zeichen in der Zeichenfolge.Einer noch

5 Ein zweidimensionales Array istZeilenweise speichernDaher muss dem System die Länge der ersten Zeile mitgeteilt werden. Wenn die Länge der von der Initialisierungsliste bereitgestellten Zeichenfolge kleiner als die Länge jeder Zeile ist, weist das System automatisch die folgenden Einheiten zu”0”

10.3 Zeichenzeiger

1 ZeichenzeigerEs handelt sich um eine Zeigervariable, die auf Zeichendaten zeigt.

2 Das String-Literal selbst stellt den konstanten Speicherbereich dar, in dem es gespeichert wird.Erste Adresse .Also einfach ändernErste AdressvergabeDurch Angabe einer Zeigervariablen können Sie den Zeichenzeiger auf eine Zeichenfolge veranlassen.

3 Saiten bleiben drinSchreibgeschützter konstanter Speicherin, sodass es nur geändert werden kannWert der Zeigervariablen, kann nicht für Zeigervariablen verwendet werdenSpeicherort, auf den verwiesen wirdFühren Sie Lese- und Schreibvorgänge durch.

Nur der Wert von ptr kann geändert werden, nicht die Speichereinheit, auf die ptr zeigt, daher ist *ptr='W' unzulässig.

4 Wenn die Zeichenfolge gespeichert isteine Anordnung , und zeigen Sie dann mit einem Zeichenzeiger darauf. Dieser Vorgang ist zulässig. wie: