C Object Identifier C Tutorials från Roots - Del 4 Introduktion Detta är en del 4 av min serie, C Tutorials från Roots. I denna del av serien, lär vi oss att identifierare objekt. Minns Minnet av en dator är en lång serie av celler. Föreställ cellerna placerade bredvid varandra i en lång rad. En kort rad grupp av dessa celler kallas en region. Gruppen bör ha minst en cell. Om denna region har utsetts att hålla datum, såsom en int eller float eller någon av de andra datatyper, kallas det ett objekt. En sådan betecknad region kallas ett objekt om det håller nollpunkt.
Så kan ett objekt består av en eller flera på varandra följande celler. Ett objekt kan hålla ett datum. Detta datum är värdet av objektet. Det finns olika typer av data. I den förra delen av serien talade vi om int, float, röding, _Bool och ogiltiga objekttyper. De är de fundamentala objekttyper. En härledd objekttypen är en kombination av två eller flera av de grundläggande typer. I denna del av serien, ska vi inte titta på de härledda objekttyper. Vi ska titta bara på de fundamentala (singel) objekttyper. Serien av cellerna hos minnet är numrerade numeriskt, i följd.
Dessa siffror är kallade adresser. Så varje minnescell har en unik minnesadress. Du kommer att ta saker i den här guiden som jag ger dig. Försök inte att göra analogi med det mänskliga språket (engelska). Inte också försöka göra analogi med matematik uttalanden. Ta bara saker som jag ger dig för att inte vilseledas av mänskligt språk eller matematik. Observera att jag har talat om objekttyper och inte datatyper. Frasen, datatyp är att ha likheter i mänskligt språk och matematik. Den typ av datum ett objekt kommer att hålla bestäms när objektet skapas.
Det är därför jag föredrar att tala om objekttyper i stället för datatyper. Frasen, datatyper, låter mer godtyckligt. Obs: Om du inte kan se koden, eller om du tror att något saknas (bruten länk, bild frånvarande), bara att kontakta mig på [email protected]. Det vill säga, kontakta mig för minsta problem du har om vad du läser. Detta är viktigt: Lägg inte till eller dra ifrån i ditt sinne, någon aning vad jag ge dig i denna del av serien och i resten av serien. För att göra det du måste likna vad jag ger dig till det mänskliga språket eller matematik.
Jag tror att göra det skulle vara vilseledande, och du skulle inte hitta studiet av C, lätt. Int Identifier Om ett föremål är att hålla ett heltal, säger 45, kan du skriva det i ett uttalande enligt följande: int myInt = 45; Uttalandet börjar med den typ av värde föremålet har. Detta följs av ett mellanslag och sedan ett namn som identifierar objektet. Detta namn kallas identifierare. Du är den som beslutar om vilka namn att ge som identifierare. Då har du = symbolen. Här = symbolen kallas tilldelningsoperatorn.
Inte kalla det likhetstecknet som du gör i matematik; det skulle vara vilseledande. Då har du värdet av heltal. Slutligen har du semikolon, vilket gör linjen ett uttalande. Nu säger vi värdet 45 tilldelas till heltalet objektet, som identifierats av myInt. Prova följande kod: #include int main () {int myInt = 45; printf ("% I", myInt); återvända 0; } Du bör se 45 visas i kommandotolken. Jag kommer att förklara bara de två första raderna inuti blocket (klammerparenteserna). Det första påståendet är, int myInt = 45; Förklaringen gavs tidigare.
Det andra uttalandet är: printf ("% i", myInt); Detta är den printf funktion som skickar utdata till kommandotolken. I C någon funktion såsom printf funktionen har parenteser (fästen). Vad du har inom parentes kallas argument. Du kan ha ett eller flera argument inom parentes. Tidigare hade vi bara ett argument, som var en sträng inom citationstecken, dvs "Hello World!" Nu finns det två argument, som är "% i" och myInt. Det första argumentet har% i inom citationstecken. Oroa dig inte för mycket om det här nu. Bara vet att jag efter% innebär att vi vill visa (trycket) ett heltal.
Det andra argumentet är myInt. Detta är identifierare av objektet som rymmer 45; och så 45 sänds till kommandotolken teckenfönstret. Flyt Identifier Om ett föremål är att hålla en flottör, säger 56,74, kan du skriva det i ett uttalande enligt följande: float myFloat = 56,74; Uttalandet börjar med den typ av värde föremålet har; objektet har en flottör. Detta följs av ett mellanslag och sedan ett namn som identifierar objektet. Detta namn kallas identifierare. Du är den som beslutar om vilka namn att ge som identifierare. Då har du tilldelningsoperatorn.
Inte kalla det likhetstecknet som du gör i matematik; det skulle vara vilseledande. Då har du värdet av flottören. Slutligen har du semikolon, vilket gör linjen ett uttalande. Vi säger värdet 56,74 är tilldelad till flyt objektet, som identifierats av myFloat. Prova följande kod: #include int main () {float myFloat = 56,74; printf ("% f", myFloat); återvända 0; } Utdata bör vara något liknande, 56,740002. Den extra 0002 är som ett resultat av ofullkomlighet hos systemet. Utgången, 56.
740002 och värde som vi skrev i, 56,74 är nästan lika, så låt oss göra det möjligt sånt i denna grundläggande handledning. Det första påståendet i blocket bör vara självförklarande, eftersom det liknar det första meddelandet om det föregående blocket. I det andra meddelandet, f i det första argumentet innebär att vi vill skriva ut (display) en flottör. Det andra argumentet är identifierare för flyt objektet. Nu, inte ringa identifierare variabler, som du skulle göra i matematik; det skulle vara vilseledande.
Vissa författare kallar identifierare, variabler eftersom de likna C till mänskligt språk och matematik. Jag liknade C till maskinkod, och det är därför jag använder ordförråd uppfinnarnas (forskare), eftersom C är närmare maskinen språk än det mänskliga språket och matematik; Jag tror, är det inte vilseledande. Char Identifier Om ett föremål är att hålla en röding, säger "W", du kan skriva det i ett uttalande enligt följande: char myChar = "W"; Uttalandet börjar med den typ av värde föremålet har; objektet har en röding. Detta följs av ett utrymme och därefter identifieraren för objektet.
Då har du tilldelningsoperatorn. Då har du värdet av tecknet (char). Slutligen har du semikolon, vilket gör linjen ett uttalande. Vi säger värdet "W" är överlåtet till char-objektet, som identifierats av myChar. Kom ihåg att ta saker som jag ger dig. Med röding objektet har värdet tilldelas vara i enkla citattecken som med "W". Prova följande kod: #include int main () {char myChar = "W"; printf ("% c", myChar); återvända 0; } Värdet, "W" ska skrivas på kommandotolken, utan citattecken. Det första påståendet i blocket ska vara självförklarande.
I det andra meddelandet, c hos den första argumentet indikerar att ett tecken skall tryckas. Det andra argumentet är myChar, som är identifieraren av träkolet objektet. Det är värdet av identifieraren objektkod som skickas till displayen. I ovanstående exempel identifierarna sägs vara deklareras och initieras samtidigt. Vi ska nu titta på betydelsen av att förklara identifierare och initiera föremål. Deklarera Identifierare En identifierare beteckningarna ett objekt. Ett objekt är ett område i minnet.
Deklarera en identifierare innebär att avgöra vilken typ av datum (värde) objektet kommer att hålla. Följande uttalande förklarar en identifierare för att vara av typen, int: int hisInt; När programmet exekveras, och det ser ovanstående uttalande, är ett antal minnesceller i rad tilldelats någonstans i minnet. Denna grupp av celler bildar ett objekt och kommer att behöva hålla endast ett heltal, inte en flottör eller röding eller något annat värde. Detta syfte identifieras av identifieraren, hisInt. Det kan bara hålla ett heltal på grund av det föregående ordet, int.
Just nu är det håller ingenting. Ovan är ett oberoende utlåtande som avslutas med ett semikolon. Du kan deklarera flyt och röding identifierare på ett liknande sätt. Följande identifierare (herFloat) beteckningarna ett objekt som bara kan hålla en float: flyta herFloat; Följande identifierare (theChar) beteckningarna ett objekt som bara kan hålla ett tecken (char): char theChar; Identifierare deklareras på detta sätt och syntaxen är: Typ ident; där ident betyder identifierare, och typ står för int eller float, eller röding, etc.
Du kan deklarera en identifierare och sedan tilldela ett värde till identifieraren objekt senare i programmet. Följande kodsegment illustrerar detta: int myInt; myInt = 45; Ovanstående kod segmentet har två uttalanden. Den första förklarar identifierare myInt. Så, om objektet som identifierats av myInt kommer att ha något värde, kommer det att vara ett heltal, och ingenting annat. Det andra uttalandet delar heltalsvärdet, 45 till objektet identifieras av myInt. Det vill säga, ger det andra meddelandet objektet ett värde (av typen int).
Med andra ord gör det andra meddelandet värdet på 45 att hållas i den grupp av celler identifierade genom myInt. Observera att i det andra meddelandet, har du inte det föregående, int. Den föregående int eller skriv sker endast under deklarationen (det första meddelandet). Efter förklaring, du bara använda identifierare för uppdraget, utan föregående typ. Läs och prova följande kod: #include int main () {char herChar; herChar = "q"; printf ("% c", herChar); återvända 0; } Du bör ha karaktären, q vid utgången.
Obs: Efter deklaration, använder du identifierare utan föregående typ, som vi har gjort i andra och tredje uttalanden i blocket ovan. Deklarera mer än en Identifier Du kan deklarera mer än en identifierare i ett uttalande. Läs och prova följande kod som illustrerar detta: #include int main () {int myInt, yourInt, hisInt; yourInt = 702; printf ("% i", yourInt); återvända 0; } Ditt resultat bör vara 702. Tre identifierare deklareras i ett uttalande. Endast en används. Det är okej. Initiering När du deklarerar en identifierare och tilldela ett värde samtidigt, är att initiering.
Det är vad vi gjorde i den övre delen av den här guiden. Efter initiering, använder du identifierare utan föregående typ. Läs och prova följande kod: #include int main () {float theFloat = 25,63; printf ("% f", theFloat); återvända 0; } Din utgång bör vara något liknande, 25,629999. Decimaldelen av resultatet ska vara 0,63, men vi har något som 0,629999, som skulle runda upp till 0,63 som vi vill. Låt oss göra det möjligt för resultatet som att för denna grundläggande handledning. Observera att i printf uttalande, har vi använt identifierare utan föregående typ (float).
Det vill säga efter initiering av objektet, använder du identifierare utan föregående typ. Ändra värdet av ett objekt Oavsett om du startar ett objekt efter anmälan och senare tilldela ett värde till det eller om du börjar med initiering där värdet tilldelas vid deklarationsstadiet, kan värdet (innehållet) av objektet ändras senare i koden. Läs och prova följande kod som illustrerar detta: #include int main () {int myInt = 99; myInt = 88; printf ("% I", myInt); återvända 0; } Din utgång ska vara 88, det ändrade värdet för objektet som identifierats av myInt.
Kom ihåg, efter deklarationen eller initiering, behöver du inte föregå identifierare med typ indikator, även när du ändrar värdet. Konstant En identifierare identifierar ett objekt. Med andra ord identifierar en identifierare ett område i minnet. I en initieringsprocess, skulle en identifierare identifiera en region i minnet, som har ett värde.
Under initiering, om du vill göra innehållet (värdet) i regionen un-modifierbara (konstant), så du måste föregå initieringen uttalande med ordet const; något liknande: const int myInt = 55; Under detta tillstånd, värdet 55, vilket är i området av minnet som identifierats av myInt, kan aldrig ändras. Låt oss försöka ändra det i följande kod, som du bör skriva in ditt textredigerare först: #include int main () {const int myInt = 55; myInt = 40; återvända 0; } Spara dokumentet som en fil, med namnet, temp.c i arbetskatalogen. Öppna kommandotolken.
Gå till arbetskatalogen, C: \\ MinGW>