For at opnå dette har opfinderne af C besluttet, at ved udgangen af det array, tilføjer nul-karakteren, \\ 0, så C bør overveje sæt karakterer i arrayet som en streng og en identifikator kan anvendes til at identificere (se eller håndtag) strengen. Nul-karakteren begynder med en omvendt skråstreg efterfulgt af nul, dvs. \\ 0. Identifikationen, der identer den resulterende matrix er identifikator for strengen.
Læs og prøv følgende kode, der illustrerer dette: #include int main () {char myStr [] = {'t', 'h', 'e', '', 'm', 'a', 'n', '\\ 0'}; printf (myStr); tilbage 0; } Bemærk, at identifikationen, myStr i printf funktionen ikke er i anførselstegn. I koden, det sidste element i array er nul karakter. Det er i enkelte anførselstegn ligesom resten af tegnene.
Nu array navn, som skulle være identifikatoren for en konstant pegepind til det første element (objekt) i rækken, og skal returnere adresse det første element (objekt) af array, returnerer nu strengen (karakterer af arrayet ), når de placeres i en bestemt sammenhæng, fordi array er lavet af tegn, og det ender med '\\ 0'. Alle tegn i arrayet returneres bortset nul-karakteren. Normalt bør en pointer ikke returnere nogen værdi af spids genstand eller spidse genstande.
I ovenstående kode, har printf funktion (kontekst) været design på en sådan måde, at hvis den modtager en pointer til et array af chars slutter med, \\ 0 den skal returnere alle tegnene i array undtagen slutter \\ 0. Sådan en pointer stadig peger på det første element i array, men en sammenhæng (printf funktion) kan bruge det til at opnå alle de tegn i array. Vi fortsætter. Stadig, kodning en streng ved at udfylde et array med elementer og slutter den med, "\\ 0 'er ikke praktisk for programmøren.
Så opfinderne af C besluttet at 1) erstatte char array blok, der slutter med nul-karakter med en streng i anførselstegn. 2) indtastet streng i anførselstegn returnerer en pointer (memory-