Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Användning av Structs | Introduktion till Strukturer
Practice
Projects
Quizzes & Challenges
Quizzes
Challenges
/
Behärska C-Strukturer

bookAnvändning av Structs

Vid utformning av program är valet av representation för de data som ska hanteras ett mycket viktigt steg.

Till exempel, om du vill skriva ett enkelt program för att automatisera beräkningen av antalet neutroner i en atom.

Där N är antalet neutroner, A är atomvikten för grundämnet, Z är antalet protoner. En funktion för att beräkna antalet neutroner i C skulle se ut så här:

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

För att använda denna funktion måste du deklarera ett stort antal variabler med egenskaperna för varje kemiskt element utan att bli förvirrad.

Du verkar ha automatiserat beräkningarna, men har inte fått någon fördel vad gäller bekvämlighet eller hastighet. Det är mycket obekvämt att mata in parametrarna för ett kemiskt element varje gång, sedan skriva ner resultatet någonstans, etc.

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;

Och så vidare för ytterligare 118 kemiska element.

"Det vore bra om mitt favoritspråk, C, hade en mekanism för att beskriva och hantera komplex data", tänkte du.

Låt oss visuellt beskriva den framtida strukturen som kommer att beskriva vilket kemiskt element som helst, till exempel kisel "Si":

Det är ganska bekvämt. Istället för att skapa en mängd separata variabler kan du definiera en struktur för att lagra alla fält. I språket C finns allt du behöver för detta redan tillgängligt.

question mark

Varför är det obekvämt att beräkna antalet neutroner med separata variabler för varje grundämne?

Select the correct answer

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 1. Kapitel 2

Fråga AI

expand

Fråga AI

ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

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?

bookAnvändning av Structs

Svep för att visa menyn

Vid utformning av program är valet av representation för de data som ska hanteras ett mycket viktigt steg.

Till exempel, om du vill skriva ett enkelt program för att automatisera beräkningen av antalet neutroner i en atom.

Där N är antalet neutroner, A är atomvikten för grundämnet, Z är antalet protoner. En funktion för att beräkna antalet neutroner i C skulle se ut så här:

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

För att använda denna funktion måste du deklarera ett stort antal variabler med egenskaperna för varje kemiskt element utan att bli förvirrad.

Du verkar ha automatiserat beräkningarna, men har inte fått någon fördel vad gäller bekvämlighet eller hastighet. Det är mycket obekvämt att mata in parametrarna för ett kemiskt element varje gång, sedan skriva ner resultatet någonstans, etc.

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;

Och så vidare för ytterligare 118 kemiska element.

"Det vore bra om mitt favoritspråk, C, hade en mekanism för att beskriva och hantera komplex data", tänkte du.

Låt oss visuellt beskriva den framtida strukturen som kommer att beskriva vilket kemiskt element som helst, till exempel kisel "Si":

Det är ganska bekvämt. Istället för att skapa en mängd separata variabler kan du definiera en struktur för att lagra alla fält. I språket C finns allt du behöver för detta redan tillgängligt.

question mark

Varför är det obekvämt att beräkna antalet neutroner med separata variabler för varje grundämne?

Select the correct answer

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 1. Kapitel 2
some-alt