Hjem Personlig finansiering Basics of Structure for C Programming - dummies

Basics of Structure for C Programming - dummies

Indholdsfortegnelse:

Video: Basic structure Of C Program - C Programming - Introduction - For Beginners 2024

Video: Basic structure Of C Program - C Programming - Introduction - For Beginners 2024
Anonim

Du kan tænke på C-programmeringssprogstrukturen som en multivariabel, eller flere variabler, der er rullet ind i en. Du bruger strukturer til at gemme eller få adgang til komplekse oplysninger. På den måde kan du holde forskellige int, char, float variabler og endda arrayer, alt sammen i en pæn pakke.

Grundlæggende om struct

En struktur er ikke en variabel type. I stedet skal du tænke på det som en ramme, der indeholder flere variable typer. På mange måder ligner en struktur en rekord i en database. For eksempel:

Navn Alder Gambling gæld

Disse tre poster kan være felter i en databasepost, men de kan også være medlemmer i en struktur: Navn ville være en streng; Alder, et helt tal og Gambling Gæld, en usigneret flydende point værdi. Sådan kan en sådan post se ud som en struktur i C:

struct record {char navn [32]; alder float gæld;};

struct er et C-sprog søgeord, der introducerer, definerer eller opretter en ny struktur.

record er navnet på den nye struktur, der oprettes.

Inden for de krøllede parenteser bor strukturens medlemmer, variablerne indeholdt i den navngivne struktur. Posttypestrukturen indeholder tre medlemsvariabler: et strengnavn, en nav-navngivet alder og en float-værdi, gæld.

For at bruge strukturen skal du erklære en strukturvariabel for den strukturtype, du oprettede. For eksempel:

struct record human;

Denne linje erklærer en ny variabel af poststrukturstypen. Den nye variabel hedder human .

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

struct record {char navn [32]; alder float gæld;} menneske;

Disse udsagn definerer poststrukturen og erklære en rekordstrukturvariabel, human . Flere variabler af denne struktur type kan også oprettes:

struct record {char navn [32]; alder float gæld;} bill, mary, dan, susie;

Fire registreringsstrukturvariabler oprettes i dette eksempel. Hver variabel har adgang til de tre medlemmer, der er defineret i strukturen.

For at få adgang til medlemmer i en strukturvariabel, bruger du en periode, som er medlemsoperatøren . Det forbinder strukturvariablenavnet med et medlemsnavn. For eksempel:

printf ("Offer:% sn", bill. Navn);

Denne sætning refererer til navnemedlemmet i strukturen bill . Et char array, det kan bruges i din kode som enhver anden char array. Andre medlemmer i strukturvariablen kan også bruges som deres individuelle modparter:

dan.alder = 32;

Sådan udfyldes en struktur

Som med andre variabler kan du tildele værdier til en strukturvariabel, når den oprettes. Du skal først definere strukturtypen og derefter erklære en strukturvariabel med de forudindstillede medlemsværdier. Sørg for, at de forudindstillede værdier matcher rækkefølgen og typen af ​​medlemmer, der er defineret i strukturen, som vist i Deklaration af en initialiseret struktur.

ERKLÆRING AF EN INITIALISERET STRUKTUR

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

Øvelse 1 : Opret et nyt program ved at skrive kildekoden fra Deklarere en initialiseret struktur i editoren. Byg og kør.

Du kan også erklære en struktur og initialisere den i en erklæring:

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

Øvelse 2 : Rediger kildekoden fra øvelse 1, så strukturen og variablen er angivet og initialiseret som en opgørelse.

Selv om du kan erklære en struktur og initialisere en strukturvariabel som vist, kan du kun komme væk med det trick kun én gang. Du kan ikke bruge teknikken til at erklære den anden strukturvariabel, som skal gøres på den traditionelle måde, som vist i Declaration of Initialized Structure.

Øvelse 3 : Tilføj en anden præsidentstruktursvariabel, for det andet til din kode, ved at initialisere strukturen med oplysninger om den anden præsident, John Adams, der blev indviet i 1797. Vis indholdet af begge strukturer.

Sådan laver du en vifte af strukturer

Oprettelse af individuelle strukturvariabler, den ene efter den anden, er så kedelig og spild som at skabe en serie af en hvilken som helst variabel type. Løsningen for flere strukturer er den samme som for flere individuelle variabler: en matrix.

En strukturarray erklæres som denne:

struct scores player [4];

Denne erklæring erklærer en række scoringsstrukturer. Arrayet hedder afspiller, og det indeholder fire strukturvariabler som dets elementer.

Strukturerne i arrayet åbnes ved at bruge en kombination af array og struktur notation. For eksempel:

spiller [2]. navn

Variablen i den foregående linje åbner navnet på medlemmet i det tredje element i afspillerstrukturen. Ja, det er det tredje element, fordi det første element ville blive omtalt som dette:

spiller [0]. navn

Arrays begynder nummerering med elementet 0, ikke element 1.

Linje 10 i Arrays of Structures erklærer en række fire scoringsstrukturer. Arrayet hedder spiller. Linjer 13 til og med 19 fylder hver struktur i arrayet. Linjer 21 til og med 27 viser hver strukturens medlemsværdier.

STRIPTURRÆKNINGER

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

Øvelse 4 : Indtast kildekode fra Arrays of Structures til din editor. Byg og kør programmet. Prøv at holde scorerne til færre end fem cifre, så de passer ordentligt.

Øvelse 5 : Tilføj kode til Arrays of Structures, så visning af strukturer er sorteret med den højeste score, der er anført først. Ja, det kan du gøre. Sortering af en række strukturer fungerer ligesom sortering af ethvert andet array.

Her er et tip: Løsningens linje 27 ser sådan ud:

spiller [a] = spiller [b];

Du kan bytte strukturelementelementer ligesom du kan bytte nogle arrayelementer. Du behøver ikke at bytte strukturvariabelens medlemmer.

Basics of Structure for C Programming - dummies

Valg af editor

Hvad er nyt i Microsoft Word 2016? - dummies

Hvad er nyt i Microsoft Word 2016? - dummies

Udgivelsen af ​​Microsoft Word i 2016 er funktionel pakket og kan prale af evnen til at forenkle arbejdsgange og forene arbejdsgrupper. Hvad det betyder for dig er, at det er et meget lettere produkt at bruge i forhold til tidligere versioner. Med funktionelle ændringer, der er indbygget i knapper og faner af Word 2016s båndformede proceslinje, har den ...

Word 2010 Tastaturgenveje - Dummies

Word 2010 Tastaturgenveje - Dummies

Word 2010 tilbyder en række nyttige tastaturgenveje til hurtigt at udføre opgaver. Her er nogle genveje til almindelig Word-formatering, redigering og fil- og dokumentopgaver. Word 2010 Formatering Genveje Kommando Genvej Bånd Placering Fed Ctrl + B Startside Fane, Skrifttype Gruppe Kursiv Ctrl + I Startside, Skriftgruppe Understrege Ctrl + U Startside Fane, Skriftgruppe Center Ctrl + E ...

Word 2007 For Dummies Cheat Sheet - dummies

Word 2007 For Dummies Cheat Sheet - dummies

Word 2007 ser anderledes ud, men tilbyder stadig de praktiske Word hæfteklammer som f.eks. tastaturgenveje til at hjælpe dig med at oprette, formatere, indsætte ting i og flytte gennem dine Word-dokumenter. Og Word 2007 tilbyder også et par nye funktioner, der hjælper dig med at håndtere din tekstbehandling med lethed.

Valg af editor

ASVAB Montering af objekter Subtest: Shapes - dummies

ASVAB Montering af objekter Subtest: Shapes - dummies

Mange mennesker kan finde den anden type montering af objekter problem på ASVAB lettere end forbindelsesproblemerne. Denne type problem er meget som et puslespil, medmindre det ikke resulterer i et billede af Frihedsgudinden eller et kort over USA. Der er også en heck of a ...

ASVAB Aritmetisk Reasoning Subtest: Viser Sammenligninger med Ratioer - Dummies

ASVAB Aritmetisk Reasoning Subtest: Viser Sammenligninger med Ratioer - Dummies

Du skal vide, hvordan du arbejde med forhold for den aritmetiske begrundelse subtest af ASVAB. Et forhold viser et forhold mellem to ting. For eksempel, hvis Margaret investerede i hendes tatoveringslokale i forholdet 2: 1 (eller 2 til 1) til hendes forretningspartner Julie, satte Margaret $ 2 for hver ...

ASVAB Auto & Shop Information Undertest: Drilling, Punching og Gouging Tools - dummies

ASVAB Auto & Shop Information Undertest: Drilling, Punching og Gouging Tools - dummies

Nej, det handler ikke om hånd-til-hånd kamp træning fra grundlæggende træning. Imidlertid vil ASVAB teste din viden om, hvor praktisk du er med boring, stansning og gouging-værktøjer. Masters i butikskunst gør ofte huller i det materiale, de arbejder med for at opbygge det perfekte fuglehus (eller hvad de arbejder på). ...

Valg af editor

EMT-eksamen: Sådan arbejder du med et team under et nødsituation

EMT-eksamen: Sådan arbejder du med et team under et nødsituation

Arbejder helt alene som en EMT er ekstremt sjælden. Selv under disse omstændigheder vil du sandsynligvis interagere med andre sundhedspleje- og offentlige sikkerhedsudbydere på et eller andet tidspunkt under et opkald. Mere sandsynligt vil du fungere som medlem af et hold. Det kan være en enkelt partner, et brandmandsbesætningsmedlem eller endda en nødsituation ...

EMT-eksamen: Sådan dokumenterer du dine tilfælde - dummier

EMT-eksamen: Sådan dokumenterer du dine tilfælde - dummier

Til eksamen og i feltet EMT er forpligtet til at dokumentere, hvad du observerede om patienten og miljøet, de resultater, du vurderede, den omhu du gav, og eventuelle ændringer i patientens tilstand, mens du var i din pleje. Dokumentation kan ske enten på papirformularer eller elektronisk med en computer, bærbar computer, ...