Du kan dele initialisering i erklæringen og tildeling som i følgende kode: #include int main () {char * herStr; herStr = "kvinnen"; printf (herStr); returnere 0; } På dette punktet du lurer kanskje på hvordan du bruker printf () funksjon og dets argumenter (elementer i parentes); ikke bekymre deg, skal vi studere printf funksjon senere i serien. Strengliteral En streng i anførselstegn som kalles en streng bokstavelig. Øking og minking String Pointer Strengt tatt er det ingen streng pekeren.
Men hvis du initialisere (eller erklære og tilordne) en streng som i de ovennevnte situasjoner, så kan du si at du har en streng peker. Du kan øke eller minske pekeren (adresse i pekeren objektet) til å peke til neste eller forrige tegn (objekt) i strengen, siden strengen er lagret som en array (slutter med \\ 0) i minnet.
Les og prøv følgende kode, noe som illustrerer dette: #include int main () {char * herStr = "kvinnen"; printf ("% c", * herStr); printf ("\\ n"); ++ herStr; printf ("% c", * herStr); printf ("\\ n"); ++ herStr; printf ("% c", * herStr); printf ("\\ n"); returnere 0; } For å få verdien (char) peker til strengen pekeren blir dereferanseoperator (*) brukes. Konstant Pekeren til en streng En konstant peker til en streng peker til det første tegnet i strengen og pekeren (adresse i pekeren objektet) kan ikke endres. Dette betyr at adressen ikke kan økes eller minskes.
Følgende to utsagn viser hvordan du kan lage en konstant peker til en streng: char myStr [] = {'t', 'h', 'e', '', 'm', 'a', 'n', ' \\ 0 '}; char * const myStr = "mannen"; Hver av disse stadige pekere ville tilbake hele strengen, i en bestemt kontekst (printf funksjon), men du kan ikke øke eller minske det. Hvis det i det andre tilfellet, har du bare et tegn peker i stedet for en konstant karakter peker, så du ville være i stand til å øke eller redusere pekeren.
Koding Meget lange strenger Det er mulig å ha en streng som er svært lang, og