En streng behov for en peker for å peke på det første element. Når en streng er laget av faktisk å sette tegn og nulltegnet inn i en matrise, er markøren et konstant peker. Når det er skapt ved å tildele en streng bokstavelig (dobbel sitert tekst) til en peker, under initialisering eller etter erklæringen, har du muligheten til å gjøre pekeren konstant eller ikke. Strenger som Array Elements En streng i seg selv er en matrise, men det kan være et element av en vanlig array? Ja, men du trenger å lære å lage en streng et element i matrisen. Dette er fordi strengen pekeren har særegne atferd.
Før vi fortsetter huske at når vi snakker om en peker, er det normalt to stedene berørte; pekeren objektet og den spisse gjenstand. I tilfelle av strenger, er den spisse gjenstand en rekke tegn (som er et avledet objekt type). Vi så en rekke pekere i forrige del av serien. Det var imidlertid en rekke pekere til flyter ikke en rekke pekere til strenger (arrays). Du kan ikke ha strenger som matriseelementer. Dette er fordi en streng bokstavelig (eller røye array slutter med \\ 0) returnerer en peker til det første tegnet i teksten, og ikke sett tegn.
Så hvis du liksom ønsker strenger som elementer i en matrise, må du ha pekere til de første tegnene til strenger som elementene i matrisen. Du vil da ha en matrise som typen ville være pekeren til tegn. Noe sånt, char * arr []; Rekken navn (identifikator) må innledes med *. Vi hadde en lignende erklæring i forrige del av serien, men i stedet for røye, hadde vi flyte. Følgende kodeeksempel viser deg hvordan du bruker strenger som array-elementer. Les og prøv det.
#include int main () {char * en = "den første"; char * To = "den andre"; char * Tre = "tredje"; char * myStrings [] = {en, to, tre}; //blokken har pekere printf (myStrings [0]); printf ("\\ n"); printf (myStrings [1]); printf ("\\ n"); printf (myStrings [2]); printf ("\\ n"); returnere 0; } # Include int main () {char * myStrings