Indholdsfortegnelse:
Video: How to input variable length String in C language Hindi 2025
I C programmering kan du rod med variablen i din kode ved at skifte den til en anden type, hvilket giver det helt nyt navn eller stave en stavning på variabel til at opfylde dine behov, velvilligt eller ej.
Typecasting i vantro
Hvornår er en float-variabel ikke en float? Når det er typecast i en int, selvfølgelig. Dette trick er gjort muligt i C ved hjælp af typecast. For eksempel:
(int) gæld
I den foregående linje er floatvariablen gæld indtastet til en int-værdi. Int i parenteser leder kompilatoren til at behandle værdien af gæld som et helt tal.
Hvorfor ville nogen gerne have det?
Fordi nogle gange kræver en funktion en bestemt variabeltype, og den type er ikke tilgængelig. I stedet for at konvertere og jonglere flere variable typer i et program, kan du bare skrive en variabel ind i den type, du ønsker. Det er ikke et fælles trick, men det er ofte nødvendigt, som vist i det er ikke rigtigt.
DET ER IKKE HØJRE
#include int main () {int a, b; flyde c; printf ("Indtast den første værdi:"); scanf ("% d", & a); printf ("Indtast den anden værdi:"); scanf ("% d", & b); c = a / b; printf ("% d /% d =%. 2fn", a, b, c); returnere (0);}
Øvelse 1: Skriv kildekoden fra, det er ikke ret i din editor. Byg og kør.
Her er en prøvekørsel med indgangen i fed skrift:
Indtast den første værdi: 3 Indtast den anden værdi: 2 3/2 = 1. 00
Det er klart, at 3 ÷ 2 på en eller anden måde skulle være på 1. 50. Hvis computeren siger, at den er 1. 00, skal computeren være korrekt.
Eller måske er computeren kun forvirret, fordi i linje 12 i kildekoden er to int-værdier opdelt, og resultatet er tildelt en float. Det virker dog ikke helt, fordi det at dele et helt tal med et helt tal i C giver et helt tal som resultat.
Værdien 1 er den nærmeste heltalværdi til 1. 50. Så selvom computeren er forkert, gør den præcis det, det blev fortalt at gøre.
Øvelse 2: Rediger kildekoden, skift linje 12 for at læse
c = (flyde) a / (float) b;
Gem ændringen. Byg og kør med de samme værdier som vist. Her er den nye udgang:
Indtast den første værdi: 3 Indtast den anden værdi: 2 3/2 = 1. 50
Bedre. Det skyldes, at du skriver indstillingsvariabler a og b i ligningen, som midlertidigt giver kompilatoren mulighed for at behandle dem som svingpunktstal. Derfor er resultatet, hvad det skal være.
Sådan oprettes nye ting med typedef
Du kan komme ind i mange problemer med typedef-søgeordet.Det kan kaste normale C-ord og operatører fra deres konsekvente selv til alle slags ulykker.
PERILS OF TYPEDEF
#include typedef int stinky; stinkende hoved () {stinky a = 2; printf ("Alle ved det"); printf ("% d +% d =% dn", a, a, a + a); returnere (0);}
I farerne ved typedef definerer typedef-sætningen i Linje 3 ordet stinkende at være det samme som søgeordet int. Hvor som helst du kan bruge int i koden, kan du bruge ordet stinkende i stedet som vist på linjerne 5 og 7.
Øvelse 3: Brug kildekoden fra farerne typedef < for at oprette et nyt program, der viser, at en stinkende variabel type er den samme som en int. Byg og kør. Tilladt, eksemplet i The Perils of
typedef er ret dumt; ingen seriøs programmør ville oprette et rigtigt program sådan. Hvor typedef bruges er oftest i at definere strukturer. Typedef erklæring hjælper med at reducere chunkiness af den pågældende aktivitet. Oprettelse af en struktur viser den traditionelle måde, hvordan den indlejrede strukturoperation virker, med kendskab til strukturer:
OPSTILLING AF EN STRUKTUR TRADITIONEL VEJE
struktur id {char first [20]; char sidste [20];}; struktur dato {int måned; int dag; int år;}; struct human {struct id navn; struct dato fødselsdag;};
Brug
ypedef til Definer en struktur viser, hvordan deklarationerne finder sted, hvis du skulle skrive strukturerne: BRUGER TYPEDEF
FOR AT DEFINE EN STRUKTUR > typedef struct id {char first [20]; char sidste [20];} personlig; typedef struct dato {int måned; int dag; int år;} kalender; struct human {personlig navn; kalenderfødselsdag;}; I denne liste skrives struktur-id'et til navnet personligt. Det er ikke et variabelt navn; det er en typedef. Det er det samme som at sige, "Alle referencer til struktur ID er nu det samme som navnet personligt. " På samme måde skrives strukturdatoen til kalender. Endelig anvendes de typedef navne i deklarationen af strukturen menneske i stedet for de mere komplekse strukturdefinitioner.
EN NESTED STRUKTUR
#include #include int main () {struct dato {int måned; int dag; int år;}; struct human {char navn [45]; struct dato fødselsdag;}; struktur menneskelig præsident; strcpy (præsidentnavn, "George Washington"); formand. fødselsdag. måned = 2; formand. fødselsdag. dag = 22; formand. fødselsdag. år = 1732; printf ("% s blev født på% d /% d /% dn", præsident. navn, præsident. fødselsdag. måned, præsident. fødselsdag. dag, præsident. fødselsdag. år); returnere (0);}
Øvelse 4
:
Udskift
navn medlemmet i den menneskelige struktur i en indlejret struktur med en indlejret struktur. Navngiv den struktur ID og have den indeholder to medlemmer, char arrays, først og sidst, til opbevaring af en persons for- og efternavne. Hvis du gør alt korrekt, vil henvisningen til præsidentens navn være variablerne præsident. navn. første og
præsident. navn. sidste . Sørg for at tildele værdier til disse variabler i din kode og vis resultaterne. Øvelse 5 : Rediger kildekoden fra det projekt du opretter i øvelse 4 for at bruge typedef, som vist under Brug af
t ypedef til Definer en struktur. Byg og kør. Det kan argumenteres for at bruge typedef ikke gør din kode mere klar, end hvis du simpelthen brugte gode variable navne og velformateret tekst. For eksempel kan du ikke bruge typedef simpelthen fordi du ikke ønsker at huske, hvad du har defineret. Men du vil støde på anden kode, der bruger typedef. Lad det ikke freak dig ud. Den sande fordel ved at bruge typedef med en struktur er muligvis at det sparer dig fra at skrive ordet struktur for mange gange.