• Keine Ergebnisse gefunden

Zeichen und Zeichenketten Zeichen:

N/A
N/A
Protected

Academic year: 2021

Aktie "Zeichen und Zeichenketten Zeichen:"

Copied!
6
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Zeichen und Zeichenketten

Zeichen: Datentyp char (1 Byte - 256 mgl. Werte)

Variable vom Typ char Zeichen, gem¨aß

fester Codierung (ASCII)

⇐⇒

Zahlenwert, gem¨aß Bin¨arcodierung

(0...255) Zeichen-

manipulation

arithmetische Operation

(2)

#include <stdio.h>

int main() {

char c = ’A’;

printf("Zeichen: %c Zahl: %d\n",c,c);

c = 65;

printf("Zeichen: %c Zahl: %d\n",c,c);

c = c + 1;

printf("Zeichen: %c Zahl: %d\n",c,c);

return 0;

}

(3)

Zeichenketten: Kein Datentyp in C! Daf¨ur:

Aneinanderreihung (Feld) von Zeichen im Spei- cher.

H a l l o \0 ? ? ? ?

Zeichenkette Terminierer

Feld von Zeichen: char zeile[N];

wobei N > 1 eine konstante nat¨urliche Zahl ist Variable zeile verweist auf N Zeichen:

zeile[0], zeile[1], ..., zeile[N − 1]

Endbegrenzung einer Zeichenkette im Speicher durch ’\0’

Beispiel: char zeile[10] = "Hallo"; (vgl. oben)

(4)

Zugriff auf Zeichenketten:

Uber Adresse (Referenz) des ersten Zeichens¨ im Speicher; Ende der Zeichenkette bestimmt durch ’\0’.

Adress-Operator & liefert Referenz auf ein Zei- chen. Diese kann in Zeiger (Pointer) gespei- chert werden.

Referenz einer Zeichenkette ist also &zeile[0]

oder alternativ nur zeile.

char zeile[10] = "Hallo";

char *p_anfang = &zeile[0];

// oder kurz = zeile;

H a l l o \0 ? ? ? ?

(5)

#include <stdio.h>

int main() {

char zeile[10] = "Hallo";

char *p_anfang;

p_anfang = &zeile[0];

printf(">>%s<<\n",p_anfang);

p_anfang = zeile;

printf(">>%s<<\n",p_anfang);

printf(">>%s<<\n",zeile);

p_anfang = &zeile[1];

printf(">>%s<<\n",p_anfang);

return 0;

}

(6)

Operationen und Funkrionen: (9.8./9.5)

strlen(...) L¨ange ermitteln

strcpy(...)

strncpy(...) String kopieren

strcat(...) String anf¨ugen

strchr(...) Zeichen suchen

strstr(...) Teilstring suchen

char *fgets(char *s, int size, FILE *stream)

. Zeile einlesen

int scanf(const char *format, ...)

. Variablen von Tastatur einlesen int sscanf(const char *str,...)

. Variablen aus Zeichenkette einlesen Beispiel:

int i; float x,y;

char zeile[80];

fgets(zeile,sizeof(zeile),stdin);

Referenzen

ÄHNLICHE DOKUMENTE

plus, minus, logical not, bitwise not +, -, !, ~ indirection via pointer, address of object *pointer, &amp;name cast expression to type (type) expr. size of an

protected members are accessible from the same class, derived classes, or a friend (function or class).. constructors may be overloaded just like any other

Gleichzeitig sollte aber auch das Verständnis aufgebracht werden, dass nicht alle über 3000 Pflegedienste im Land von heute auf morgen bei knappen Impfstoffka- pazitäten insgesamt

Der Ref-NEKP wurde auf Initiative des Vertreters der Wissenschaft im Nationalen Klimaschutzkomitee (NKK) Gottfried Kirchengast (Uni Graz, ÖAW) und von Helga Kromp-Kolb (BOKU),

In jedem Konstruktor und jeder Objektmethode steht eine Referenz mit dem Namen this zur Verfügung, die auf das aktuell im Zugriff befindlich Objekt verweist.. eine Methode mit

Herr Friesen, was waren für Sie die High- lights seit der Gründung des 'Swiss PV Module Test Center' vor fünf

¨ Der Arbeitgeber sorgt dafür, dass Arbeitsplätze regelmäßig aufgeräumt und verschmutzte Arbeits- geräte unverzüglich gesäubert werden.. ¨ Arbeitsbereiche werden ausreichend

en Zelchem in der semioüschen Forschung 61 III. Das Zeichen als Dialog - Dyadische Zeichentheorie 67 3.1. Allgemeiner Charakter und basale Momente des. binaren Zeichenbegriffs 67