kjerne String i CC Guider fra Roots - Part 13 Innledning Dette er del 13 av min serie, C Guider fra Roots. En streng er en menneskelig språk ord, uttrykk eller setning. I denne delen av serien, ser vi hvordan en streng kan lagres i hukommelsen og hentes fra minnet. Før vi fortsetter, husk at et objekt er en region i minnet. Som jeg sa, jeg presentere C til deg i denne serien veien oppfinnerne ser det. Jeg gjør presentasjonen på en enkel måte. Jeg tror at på denne måten ville du forstå C bedre. Husk, ta ting i denne serien som jeg gir deg.
Ikke prøv å legge til eller trekke noen ide i tankene dine til eller fra hva jeg gi deg; det ville være misvisende. Du kan gjøre noen subtraksjon eller tillegg etter at du fullføre serien. Merk: Hvis du ikke kan se koden, eller hvis du tror noe mangler (ødelagt kobling, bilde fraværende), bare kontakte meg på [email protected]. Det er, kontakt meg for den minste problemet du har om hva du leser. Ingen Object Type for String C har objekttyper for int, _Bool, flyte, røye og ugyldig. C ikke har noen objekttype for strenger.
Så hadde en måte å bli jobbet ut til å lagre og hente strenger fra minnet. Personene i en Array Et eksempel på en streng er "mannen". Vi har en objekttype for tegn, som er røye. For å lagre en streng i minne må vi lagre tegn (tegn) som representerer strengen som sammenhengende objekter i minnet. En god måte å gjøre dette på er å ha tegn i en matrise. Vi vet at elementer (objekter) av en matrise lagres fortløpende. Så dette er begynnelsen på vår løsning.
Tenk på følgende streng: "mannen" Strengen kan lagres i en matrise som følger: char myStr [] = {'t', 'h', 'e', '', 'm', 'a', ' n '}; Når du initialisere en matrise som dette, alle objektene i matrisen er butikken i minnet etter hverandre. Legg merke til at hvert tegn i strengen er nå et formål med type, røye, i matrisen. Merk også at mellomrommet mellom ordene "de" og "mann" er også lagret i matrisen i et objekt, som ''. Husk at i initialisering av en matrise, er alle array elementer atskilt med komma.
For at vi skal skrives ut (hente) elementene i matrisen slik at de fremstår som en streng som du ville skrive (tegn i en gruppe), ville vi måtte skrive ut én etter én karakterene uten å skrive ut linjeskift (\\ n) karakter som ville føre til tegn som skal skrives ut på nye (ulike) linjer. Følgende kode illustrerer dette: #include int main () {char myStr [] = {'t', 'h', 'e', '', 'm', 'a', 'n'}; printf ("% c", myStr [0]); printf ("% c", myStr [1]