*   >> Læs Uddannelse artikler >> science >> programming

Core String In C

, 'e', ​​'', 'm', 'a', 'n'}; printf ("% c", myStr [0]); printf ("% c", myStr [1]); printf ("% c", myStr [2]); printf ("% c", myStr [3]); printf ("% c", myStr [4] ) printf ("% c", myStr [5]); printf ("% c", myStr [6]); tilbage 0; } Udgangen skal vise "manden" i én linje. Dette er ikke en bekvem måde at håndtere strenge. Vi har håndteret en sætning (streng) tegn for tegn. Det er ikke godt; vi bør have en måde at håndtere eller henviser til en sætning (streng) ved hjælp af en identifikator og ikke mange identifikationer (array elementer) som i ovenstående tilfælde.

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-

Page   <<  [1] [2] [3] [4] [5] >>
Copyright © 2008 - 2016 Læs Uddannelse artikler,https://uddannelse.nmjjxx.com All rights reserved.