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
Beherskelse af C Structs

bookAnvendelse af Structs

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

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

Hvor N er antallet af neutroner, A er elementets atommasse, Z er antallet af protoner. En funktion til at beregne antallet af neutroner i C ville se således 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 egenskaberne for hvert kemisk element uden at blive forvirret.

Du ser ud til at have automatiseret beregningerne, men har ikke opnået nogen fordel med hensyn til bekvemmelighed eller hastighed. Det er meget besværligt at indtaste parametrene for et kemisk element hver gang, derefter notere resultatet 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 elementer.

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

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

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?

Select the correct answer

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

Suggested prompts:

What is a structure in C and how do I define one?

Can you show an example of how to use a structure for chemical elements?

How does using structures improve code organization in this case?

bookAnvendelse af Structs

Stryg for at vise menuen

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

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

Hvor N er antallet af neutroner, A er elementets atommasse, Z er antallet af protoner. En funktion til at beregne antallet af neutroner i C ville se således 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 egenskaberne for hvert kemisk element uden at blive forvirret.

Du ser ud til at have automatiseret beregningerne, men har ikke opnået nogen fordel med hensyn til bekvemmelighed eller hastighed. Det er meget besværligt at indtaste parametrene for et kemisk element hver gang, derefter notere resultatet 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 elementer.

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

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

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?

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 1. Kapitel 2
some-alt