C objektidentifikatorer C Guider fra Roots - Del 4 Innledning Dette er del 4 av serien min, C Guider fra Roots. I denne delen av serien, lærer vi hvordan man identifikator stedene. Husker Minnet om en datamaskin er en lang rekke av celler. Forestille seg at cellene plassert ved siden av hverandre i en lang linje. En kort påfølgende gruppe av disse cellene kalles en region. Gruppen bør ha minst en celle. Dersom dette området er utpekt til å holde datum, slik som en int eller flyte eller noen av de andre datatyper, er det som kalles en gjenstand.
En slik utpekt område som kalles en gjenstand om det holder nullpunkt. Så kan et formål bestå av en eller flere etterfølgende celler. Et objekt kan holde et nullpunkt. Dette nullpunkt er verdien av objektet. Det finnes ulike typer data. I forrige del av serien snakket vi om int, float, røye, _Bool og ugyldige objekttyper. De er de grunnleggende objekttyper. En avledet objekttype er en kombinasjon av to eller flere av de fundamentale typer. I denne delen av serien, skal vi ikke se på de avledede objekttyper. Vi skal se bare på de fundamentale (single) objekttyper.
Rekken av celler i hukommelsen er nummerert numerisk, fortløpende. Disse tallene er kalt adresser. Slik at hver minnecelle har en unik lageradresse. Du vil ta ting i denne opplæringen slik jeg gi deg. Ikke prøv å gjøre analogi med den menneskelige språk (engelsk). Ikke også prøve å gjøre analogi med matematikk uttalelser. Bare ta ting slik jeg gi deg for ikke å bli villedet av menneskelig språk eller matematikk. Legg merke til at jeg har snakket om objekttyper og ikke datatyper. Uttrykket, datatype, er å ha likhet i menneskelig språk og matematikk.
Den type datum et objekt vil holde bestemmes, når objektet er opprettet. Det er derfor jeg foretrekker å snakke om objekttyper i stedet for datatyper. Uttrykket, datatyper, høres mer vilkårlig. 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. Dette er viktig: Ikke legge til eller trekke i tankene dine, noen ide til hva jeg gir deg i denne delen av serien og i resten av serien.
For at du skal gjøre at du ville ha å sammenligne hva jeg gi deg til den menneskelige språk eller matematikk. Jeg tror du gjør det ville være misvisende, og du vil ikke finne studiet av C, lett. Int Identifier Hvis et objekt er å holde et heltall, si 45, kan du skrive det i en uttalelse som følger: int Myint = 45; Setningen begynner med den type verdi gjenstanden holder. Dette etterfølges av et mellomrom, og deretter et navn som identifiserer objektet. Dette navnet kalles identifikator. Du er den som bestemmer på hvilke navn for å gi som identifikator. Da har du = symbol.
Her = symbol kalles oppdraget operatør. Ikke kall det likhetstegnet som du gjør i matematikk; det ville være misvisende. Da har du verdien av heltall. Til slutt har du semikolon, som gjør linjen en uttalelse. Nå, sier vi at verdien 45 er tilordnet heltall objekt, identifisert ved Myint. Prøv følgende kode: #include int main () {int Myint = 45; printf ("% i", Myint); returnere 0; } Du skal se 45 vises i kommandovinduet. Jeg vil forklare bare de første to linjene inne i blokken (klammeparentes). Den første setningen er, int Myint = 45; Forklaringen ble gitt tidligere.
Den andre setningen er: printf ("% i", Myint); Dette er printf funksjon som sender resultatet til ledeteksten vinduet. I C noen funksjon som printf funksjonen har parentes (parentes). Hva har du i parentes kalles argumenter. Du kan ha ett eller flere argumenter i parentesen. Tidligere hadde vi bare ett argument, som var en streng i anførselstegn, dvs. "Hello World!" Nå er det to argumenter, som er "% i" og Myint. Det første argumentet har% i i anførselstegn. Ikke bekymre deg for mye om dette for nå. Bare vet at jeg etter% betyr at vi ønsker å vise (print) et heltall.
Det andre argumentet er Myint. Dette er identifikatoren til objektet som holder 45; og så 45 er sendt til ledeteksten visningsvinduet. Flottøren Identifier Hvis et objekt er å holde en flåte, sier 56.74, kan du skrive det i en uttalelse som følger: flyte myFloat = 56.74; Setningen begynner med den type verdi gjenstanden holder; gjenstanden har en flottør. Dette etterfølges av et mellomrom, og deretter et navn som identifiserer objektet. Dette navnet kalles identifikator. Du er den som bestemmer på hvilke navn for å gi som identifikator. Da har du oppdraget operatør.
Ikke kall det likhetstegnet som du gjør i matematikk; det ville være misvisende. Da har du verdien av float. Til slutt har du semikolon, som gjør linjen en uttalelse. Vi sier verdien 56,74 er tilordnet til flyteobjektet, identifisert ved myFloat. Prøv følgende kode: #include int main () {float myFloat = 56.74; printf ("% f", myFloat); returnere 0; } Utgangen skal være noe sånt, 56,740002. Den ekstra 0002 er som følge av ufullkommenhet av systemet. Utgangen, 56.740002 og verdien vi har skrevet i, 56.74 er nesten like, så la oss la ting som det i denne grunnleggende opplæringen.
Den første setningen i blokken skal være selvforklarende, som det er lik den første setningen av forrige kvartal. I den andre setningen, betyr f i det første argumentet vi ønsker å skrive ut (display) en flåte. Det andre argumentet er identifikatoren for flottøren objektet. Nå, ikke ringe identifikatorer variabler, som du ville gjort i matematikk; det ville være misvisende. Noen forfattere ringe identifikatorer, variabler fordi de er likening C til menneskelig språk og matematikk.
Jeg likening C til maskinspråk, og det er derfor jeg bruker vokabular av oppfinnerne (forskere), siden C er nærmere maskinen språk enn det menneskelige språk og matematikk; Jeg tror, dette er ikke misvisende. Røye Identifier Hvis et objekt er å holde en char, si "W", kan du skrive det i en uttalelse som følger: char myChar = 'W'; Setningen begynner med den type verdi gjenstanden holder; objektet har en char. Dette etterfølges av et mellomrom, og deretter en identifikator for objektet. Da har du oppdraget operatør. Da har du verdien av karakteren (røye).
Til slutt har du semikolon, som gjør linjen en uttalelse. Vi sier verdien "W" er tildelt til trekullet objekt, identifisert ved myChar. Husk, ta ting slik jeg gi deg. Med røye objekt, har verdien tilordnet være i enkle anførselstegn som med "W". Prøv følgende kode: #include int main () {char myChar = 'W'; printf ("% c", myChar); returnere 0; } Verdien, "W" skal skrives i kommandovinduet, uten anførselstegn. Den første setningen i blokken skal være selvforklarende. I den andre setningen, den c av det første argumentet tilsier at et tegn skal skrives.
Det andre argumentet er myChar, som er identifikatoren til røye objektet. Det er verdien av identifikatoren er objekt som blir sendt til displayet. I eksemplene ovenfor identifikatorene er sagt å bli erklært og initialisert på samme tid. Vi skal nå se på betydningen av å erklære identifikatorer og initialisering stedene. Erklærte identifikatorer En identifikator identifikator et objekt. Et objekt er en region i minnet. Erklærte en identifikator betyr bestemme hva slags datum (verdi) objektet vil holde.
Følgende uttalelse erklærer en identifikator for å være av typen, int: int hisInt; Når programmet blir utført, og det ser ovennevnte uttalelse, er et antall påfølgende minneceller sted bevilget i minnet. Denne gruppen av celler danner et objekt, og er nødt til å holde bare et helt tall, ikke en flottør eller røye eller en annen verdi. Dette formål er identifisert av identifikatorer hisInt. Det kan bare holde et tall på grunn av den foregående ord, int. I øyeblikket er det som holder ingenting. Ovenfor er en uavhengig uttalelse som ender med et semikolon.
Du kan erklære dupp og røye identifikatorer på en lignende måte. Følgende identifikator (herFloat) identifikator et objekt som bare kan holde en float: flyte herFloat; Følgende identifikator (theChar) identifikator et objekt som bare kan holde et tegn (char): char theChar; Identifikatorer er deklarert på denne måten, og syntaksen er: Type ident; hvor ident betyr identifikator, og Type står for int eller float, eller røye, etc. Du kan erklære en identifikator og deretter tilordne en verdi til identifikator formål senere i programmet.
Følgende kode segment illustrerer dette: int Myint; Myint = 45; Koden ovenfor segment har to uttalelser. Den første erklærer identifikator, Myint. Så, hvis objektet identifiseres ved Myint vil ha en hvilken som helst verdi, vil det være et helt tall, og ikke noe annet. Den andre setningen tildeler heltall, 45 til objektet identifisert av Myint. Det er, gir den andre setningen objektet en verdi (av type int). Med andre ord, som gjør den andre setningen verdien 45 som skal holdes i den gruppe av celler identifisert ved Myint. Merk at i den andre setningen, har du ikke den foregående, int.
Den foregående int eller skriv bare oppstår under erklæring (første setning). Etter erklæringen, du bare bruke identifikator for oppdraget, uten foregående type. Les og prøv følgende kode: #include int main () {char herChar; herChar = 'q'; printf ("% c", herChar); returnere 0; } Du bør ha karakter, q på utgangen. Merk: Etter erklæringen, bruker du identifikator uten foregående typen, slik vi har gjort i det andre og tredje uttalelser i blokken ovenfor. Erklærte mer enn én Identifier Du kan erklære mer enn en identifikator i en uttalelse.
Les og prøv følgende kode som illustrerer dette: #include int main () {int Myint, yourInt, hisInt; yourInt = 702; printf ("% i", yourInt); returnere 0; } Din Resultatet bør være 702. Tre identifikatorer er deklarert i en uttalelse. Bare en er brukt. Det er ok. Initialisering Når du deklarerer en identifikator og tildele en verdi på samme tid, er at initialisering. Det er hva vi gjorde i den øverste delen av denne opplæringen. Etter initialisering, bruker du identifikator uten foregående type. Les og prøv følgende kode: #include int main () {float theFloat = 25.
63; printf ("% f", theFloat); returnere 0; } Din utgang bør være noe sånt, 25,629999. Den desimal del av resultatet er ment å være 0,63, men vi har noe som 0,629999, som ville runde opp til 0,63 som vi ønsker. La oss tillate resultatet sånn for denne grunnleggende opplæringen. Merk at i printf uttalelse, har vi brukt identifikator uten foregående type (float). Det er, etter initialisering av objektet, bruker du identifikator uten foregående type.
Endre verdien på et objekt Enten du starter et objekt av erklæringen og senere fastsette en verdi for den, eller du starte ved initialisering der verdien er tildelt ved erklæringen stadium, kan verdien (innhold) av objektet endres, senere i koden. Les og prøv følgende kode som illustrerer dette: #include int main () {int Myint = 99; Myint = 88; printf ("% i", Myint); returnere 0; } Din utgang bør være 88, det endrede verdien for objektet identifisert av Myint. Husk, etter erklæring eller initialisering, du trenger ikke å komme før identifikator med Type indikator, selv når du endrer verdien.
Konstant En identifikator identifiserer et objekt. Med andre ord, identifiserer en identifikator et område i hukommelsen. I et initialiseringen, vil en identifikator identifisere en region i hukommelse, som har en verdi. Under initialisering, hvis du ønsker å gjøre innholdet (verdi) av regionen un-modifiserbare (konstant), så du må komme før initialisering setningen med ordet const; noe sånt som: const int Myint = 55; Under disse forhold, verdien 55, som er i det område av lageret identifisert ved Myint, kan aldri endres.
La oss forsøke å endre den i følgende kode, som du bør skrive inn en teksteditor først: #include int main () {const int Myint = 55; Myint = 40; returnere 0; } Lagre dokumentet som en fil med navnet, temp.c i arbeidsmappen. Åpne ledetekstvinduet. Gå til arbeidskopien, C: \\ MinGW>