Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Anvendelse af Structs | Introduktion til Structs
C Structs

Anvendelse af Structs

Stryg for at vise menuen

Når man designer programmer, er et meget vigtigt skridt valget af repræsentationen af de data, man skal håndtere.

For eksempel ønsker du at skrive et simpelt program til at automatisere beregningen af antallet af neutroner i et atom.

A-Z

Hvor N er antallet af neutroner, A er atomets masse, Z er antallet af protoner. En funktion til at beregne antallet af neutroner i C ville se sådan ud:

int NeutronCount(float A, int Z)
{
	int N = A - Z;
	return N;
}

For at bruge denne funktion skal du erklære et stort antal variabler med karakteristika for hvert kemisk element uden at blive forvirret.

Du har tilsyneladende automatiseret beregningerne, men har ikke opnået nogen fordel i bekvemmelighed eller hastighed. Det er meget besværligt at indtaste parametrene for et kemisk element hver gang, derefter skrive resultatet ned et sted osv.

char firstElementName[3];
int firstElementAtomicNum;
int firstElementValency;
double firstElementMass;

char secondElementName[3];
int secondElementAtomicNum;
int secondElementValency;
double secondElementMass;

char thirdElementName[3];
int thirdElementAtomicNum;
int thirdElementValency;
double thirdElementMass;

Og sådan fortsætter det for yderligere 118 kemiske grundstoffer.

"Det ville være fantastisk, hvis mit yndlingssprog, C, havde en mekanisme til at beskrive og håndtere komplekse data", tænkte du.

Lad os visuelt beskrive den fremtidige struktur, der skal beskrive ethvert kemisk grundstof, for eksempel silicium "Si":

kemisk+grundstof

Det er ret praktisk. I stedet for at oprette en masse separate variabler, kan du definere en struktur til at indeholde alle felterne. I C-sproget er alt, hvad du behøver til dette, allerede tilgængeligt.

question mark

Hvorfor er det upraktisk at beregne antallet af neutroner ved at bruge separate variabler for hvert element?

Vælg det korrekte svar

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 1. Kapitel 2

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

Sektion 1. Kapitel 2
some-alt