Hjem Personlig finansiering Grunnleggende om Structure for C Programming - dummies

Grunnleggende om Structure for C Programming - dummies

Innholdsfortegnelse:

Video: How language shapes the way we think | Lera Boroditsky 2024

Video: How language shapes the way we think | Lera Boroditsky 2024
Anonim

Du kan tenke på C-programmeringssprogstrukturen som en multivariabel, eller flere variabler rullet inn i en. Du bruker strukturer til å lagre eller få tilgang til komplisert informasjon. På den måten kan du beholde forskjellige int, char, float variabler, og til og med arrayer, alt i en pen pakke.

Grunnleggende om struct

En struktur er ikke en variabel type. I stedet tenk på det som en ramme som inneholder flere variable typer. På mange måter er en struktur lik en post i en database. For eksempel:

Navn Alder Gambling gjeld

Disse tre elementene kan være felt i en databaseoppføring, men de kan også være medlemmer i en struktur: Navn ville være en streng; Alder, et heltall; og Gambling Debt, en usignert flytende poengverdi. Slik ser en slik plate ut som en struktur i C:

struct record {char name [32]; int alder; flyte gjeld;};

struct er et C-språk søkeord som introduserer, definerer eller lager en ny struktur.

posten er navnet på den nye strukturen som blir opprettet.

Innenfor de krøllede parentesene bor strukturens medlemmer, variablene i den navngitte strukturen. Poststrukturstypen inneholder tre elementvariabler: et strengnavn, en intalt alder, og en flytverdi, gjeld.

For å bruke strukturen må du erklære en strukturvariabel av strukturtypen du opprettet. For eksempel:

struct record human;

Denne linjen erklærer en ny variabel av rekordstrukturtypen. Den nye variabelen heter human .

Strukturvariabler kan også deklareres når du definerer strukturen selv. For eksempel:

struct record {char navn [32]; int alder; flyte gjeld;} menneskelig;

Disse uttalelsene definerer rekordstrukturen og erklære en rekordstrukturvariabel, menneske . Flere variabler av denne strukturtypen kan også opprettes:

struct record {char name [32]; int alder; flyte gjeld;} bill, mary, dan, susie;

Fire rekordstrukturvariabler er opprettet i dette eksemplet. Hver variabel har tilgang til de tre medlemmene som er definert i strukturen.

For å få tilgang til medlemmer i en strukturvariabel, bruker du en periode, som er medlemsoperatøren . Den forbinder strukturvariabelenavnet med et medlemsnavn. For eksempel:

printf ("offer:% sn", regningsnavn);

Denne setningen refererer til navnemedlemmet i regningen strukturvariabelen. Et karbonatursystem, det kan brukes i koden din som alle andre karbonatomer. Andre medlemmer i strukturvariabelen kan også brukes som deres individuelle kolleger:

dan.alder = 32;

Slik fyller du i en struktur

Som med andre variabler, kan du tilordne verdier til en strukturvariabel når den er opprettet. Du må først definere strukturtypen og deretter erklære en strukturvariabel med de forhåndsinnstilte medlemsverdiene. Kontroller at de forhåndsdefinerte verdiene samsvarer med rekkefølgen og typen av medlemmer som er definert i strukturen, som vist i Deklarering av en initialisert struktur.

ERKLÆRING AV EN INITIALISERT STRUKTUR

#include int main () {struct president {char navn [40]; int år;}; struct president først = {"George Washington", 1789}; printf ("Den første presidenten var% sn", først. navn); printf ("Han ble innviet i% dn", første år); returnere (0);}

Øvelse 1 : Lag et nytt program ved å skrive kildekoden fra Deklarere en initialisert struktur i redigeringsprogrammet. Bygg og løp.

Du kan også deklarere en struktur og initialisere den i en setning:

struct president {char name [40]; int år;} først = {"George Washington", 1789};

Øvelse 2 : Endre kildekoden fra Øvelse 1 slik at strukturen og variabelen er deklarert og initialisert som en setning.

Selv om du kan erklære en struktur og initialisere en strukturvariabel som bare vist, kan du komme unna med det trikset bare én gang. Du kan ikke bruke teknikken til å erklære den andre strukturvariabelen, som må gjøres på den tradisjonelle måten, som vist i Deklarering av en initialisert struktur.

Øvelse 3 : Legg til en annen presidentstrukturvariabel, for det andre til koden din, og initialiser den strukturen med informasjon om den andre presidenten, John Adams, som ble innviet i 1797. Vis innholdet i begge strukturer.

Hvordan lage en rekke strukturer

Å lage individuelle strukturvariabler, etter hverandre, er så kjedelig og sløsing som å skape en serie av en hvilken som helst variabel type. Løsningen for flere strukturer er den samme som for flere individuelle variabler: en matrise.

En struktureringsgruppe er deklarert slik:

struct scores spiller [4];

Denne erklæringen erklærer en rekke scorestrukturer. Arrayet heter spilleren, og det inneholder fire strukturvariabler som dets elementer.

Konstruksjonene i arrayet er tilgjengelige ved å bruke en kombinasjon av array og struktur notasjon. For eksempel:

spiller [2]. navn

Variabelen i forrige linje åpner navnet på medlemmet i det tredje elementet i spillerstrukturen. Ja, det er det tredje elementet fordi det første elementet ville bli referert som dette:

spiller [0]. navn

Arrays start nummerering med elementet 0, ikke element 1.

Linje 10 i Arrays of Structures erklærer en rekke fire scorestrukturer. Arrangementet heter spilleren. Linjene 13 til og med 19 fyller hver struktur i gruppen. Linjene 21 til og med 27 viser hver enkelt strukturens medlemsverdier.

STRIPTURRÅDER

#include int main () {struct scores {char name [32]; int score;}; struct score spiller [4]; int x; for (x = 0; x <4; x ++) {printf ("Angi spiller% d:", x + 1); scanf ("% s", spiller [x].Navn); printf ("Skriv inn deres poeng:"); scanf ("% d", og spiller [x]. score);} setter ("Player Info"); printf ("# tNametScoren"); for (x = 0; x <4; x ++) {printf ("% dt% st% 5dn", x + 1, spiller [x]. navn, spiller [x].

Øvelse 4 : Skriv kildekoden fra Arrays of Structures til redaktøren din. Bygg og kjør programmet. Prøv å holde poengene til færre enn fem siffer slik at de ordner seg riktig.

Øvelse 5 : Legg til kode i Arrays of Structures slik at visning av strukturer er sortert med den høyeste poengsummen som er oppført først. Ja, du kan gjøre dette. Sortering av en rekke strukturer fungerer akkurat som å sortere noen annen matrise.

Her er et hint: Linje 27 av løsningen ser slik ut:

spiller [a] = spiller [b];

Du kan bytte strukturelementelementer akkurat som du kan bytte alle elementelementer. Du trenger ikke å bytte strukturvariabelens medlemmer.

Grunnleggende om Structure for C Programming - dummies

Redaktørens valg

Speil Lockup (MUP) på Nikon D7100-dummies

Speil Lockup (MUP) på Nikon D7100-dummies

En komponent i det optiske systemet til din Nikon D7100 kamera er et speil som beveger seg hver gang du trykker på lukkerknappen. Den lille vibrasjonen som følge av speilets handling kan føre til svak utryddelse av bildet når du bruker en veldig langsom lukkerhastighet, skyter med en lang teleobjektiv, ...

Opptaksmuligheter på Nikon D5300 - dummies

Opptaksmuligheter på Nikon D5300 - dummies

Du kan styre noen få aspekter av din filmoppgave på din Nikon D5300. Du kan manipulere videoen din for å skape en rekke effekter. Følgende liste går gjennom disse alternativene: Eksponeringsmodus: Du kan ta opp filmer i hvilken som helst eksponeringsmodus (Auto, Scenemodus, Effektmodus, P, M, og så videre). Som med fortsatt ...

Hvordan man manipulerer eksponering og kontroll på Nikon D5600-dummies

Hvordan man manipulerer eksponering og kontroll på Nikon D5600-dummies

Følgende retusjonsverktøy på din Nikon D5600 kamerajustering eksponering og farge: D-Lighting, Quick Retouch, Filter Effects og Monochrome. Selv om disse verktøyene ikke får deg til å velge ett kamera over en annen, hvis du allerede har en Nikon D5600, er de tilgjengelige, så du kan også lære å bruke dem! D-Lighting: Active D-Lighting ...

Redaktørens valg

DOs og DON'Ts of Fantasy Basketball Draft Picks - dummies

DOs og DON'Ts of Fantasy Basketball Draft Picks - dummies

Hvis du vurderer bli med i en fantasy basketball liga, må du ta hensyn til følgende DOs og DON'Ts før du vurderer spillerne du vil utarbeide på laget ditt. Kreditt: © iStockphoto. com / IS_ImageSource Fantasy basketball draft pick DOS I de fleste fantasy basketball ligaer bestemmer kommisjonen (personen som setter opp ligaen) bestillingen i ...

Linjene og dimensjonene til en basketballbane - dummies

Linjene og dimensjonene til en basketballbane - dummies

En basketballbane har symmetri; Den ene halvdelen av retten er et speilbilde av den andre. Hele basketballbanen (se figur 1) er 94 fot med 50 fot. På hver halvplass viser malte linjer fritt korsbanen og sirkelen, samt trepunktsbuen, hvis avstand fra kurven varierer basert ...

Kjøp av gratis agenter i fantasy fotball - dummies

Kjøp av gratis agenter i fantasy fotball - dummies

I løpet av fantasy fotball sesongen, spillere som ikke blir utarbeidet bli gratis agenter - spillere tilgjengelig for enhver ligamatch villig til å slippe en eid spiller. Bruk gratis agentbassenget til å erstatte en skadet spiller eller noen som bare ikke lever opp til dine forventninger. Bruk disse tipsene for å finne en gratis agent for å ...

Redaktørens valg

Grunnleggende for din iOS-app - dummies

Grunnleggende for din iOS-app - dummies

Heldigvis mesteparten av det du trenger å gjøre så langt som iOS animasjon er opptatt er allerede bygd inn i rammen. Noen visningsegenskaper kan animeres, noe som betyr at du bare må fortelle visningen hvor du skal begynne og hvor du skal avslutte flyttingen, og noen få andre valgfrie parametere, og du er ferdig. ...

Montering av verktøylinjen for Android App Development - dummies

Montering av verktøylinjen for Android App Development - dummies

Når du vet at du er klar til være en Android-utvikler, ta tak i datamaskinen din og få sprekker på å installere verktøyene og rammene som er nødvendige for å bygge ditt første blockbuster-program. Linux-kjernen Android ble opprettet på toppen av åpen kildekode Linux-kjernen. Android-teamet valgte å bruke denne kjernen fordi den ga bevist ...

Grunnleggende om Cocoa Touch i iOS Apps - dummies

Grunnleggende om Cocoa Touch i iOS Apps - dummies

Cocoa Touch-laget inneholder det meste av objektet -orientert utvikler-vendt rammer for å bygge iOS applikasjoner. Det er ditt eneste utgangspunkt for app-utvikling. Apple-guiderne oppfordrer deg til å undersøke teknologiene i dette laget for å se om de oppfyller dine behov, før du ser på de andre lagene. Med andre ord, Apple har til hensikt å ...